当前位置: 首页 > news >正文

[Linux] MySQL源码编译安装

目录

环境包安装

 创建程序用户

解压源码包

配置cmake

​编辑编译

安装

配置修改属性

属主和属组替换成mysql用户管理

系统环境变量配置

初始化数据库

服务管理

启动


环境包安装

yum -y install ncurses ncurses-devel bison cmake gcc gcc-c++

 

重点强调:采用cmake编译方式

 创建程序用户

useradd -s /sbin/nologin mysql

 创建的为无家目录,无法登录的用户

创建完后验证 :

id mysql

 

解压源码包

tar zxvf mysql-boost-5.7.20.tar.gz -C /opt/

注意要区分目录:

配置cmake

进入我们刚才解压的opt目录下,进入mysql-5.7.20目录,使用ls命令可以看到目录下有一个cmake文件

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1


编译

make -j 4

 -j 4代表用4核编译,这样编译速度会加快。当然也可以根据自己的CPU来调整。

编译过程:

安装

make install

配置修改属性

chown -R mysql:mysql /usr/local/mysql/

属主和属组替换成mysql用户管理

修改配置文件

vim /etc/my.cnf

输入下面内容: 

[client]port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown mysql.mysql /etc/my.cnf

系统环境变量配置

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profileecho 'export PATH' >> /etc/profilesource /etc/profile

初始化数据库

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

服务管理

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

启动

systemctl start mysqld.service

THE END

如有遗漏,欢迎补充,感谢!

http://www.xdnf.cn/news/777637.html

相关文章:

  • 软考 系统架构设计师系列知识点之杂项集萃(78)
  • Microsoft前后端不分离编程新风向:cshtml
  • OpenCV CUDA模块图像处理------图像融合函数blendLinear()
  • 高效图像处理:使用 Pillow 进行格式转换与优化
  • 【图像处理入门】4. 图像增强技术——对比度与亮度的魔法调节
  • OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()
  • 【Unity开发】控制手机移动端的震动
  • 【WPF】从普通 ItemsControl 到支持筛选的 ItemsControl:深入掌握 CollectionViewSource 用法
  • 【PmHub面试篇】Gateway全局过滤器统计接口调用耗时面试要点解析
  • 网络安全厂商F5推出AI Gateway,化解大模型应用风险
  • Axure-元件流程图
  • 鸿蒙开发:应用内如何做更新
  • 湖南省水利水电安全员b证在哪报名
  • 破局与进阶:ueBIM 在国产 BIM 赛道的差距认知与创新实践
  • Git 使用规范指南
  • Elasticsearch + Milvus 构建高效知识库问答系统《一》
  • 为什么 uni-app 开发的 App 没有明显出现屏幕适配问题Flutter 开发的 App 出现了屏幕适配问题
  • Java编程之建造者模式
  • [Java 基础]Java 语言的规范
  • 【如何在IntelliJ IDEA中新建Spring Boot项目(基于JDK 21 + Maven)】
  • [Java 基础]选英雄(配置 IDEA)
  • 深入理解汇编语言中的顺序与分支结构
  • Python+requests+pytest+allure自动化测试框架
  • 鸿蒙UI开发——组件的自适应拉伸
  • 深入解析 Flask 命令行工具与 flask run命令的使用
  • Spark 单机模式部署与启动
  • RAG架构中用到的模型学习思考
  • AWS App Mesh实战:构建可观测、安全的微服务通信解决方案
  • AWS VPC 网络详解:理解云上专属内网的关键要素
  • [java八股文][JavaSpring面试篇]SpringCloud