[Linux] MySQL源码编译安装

发布于:2025-06-04 ⋅ 阅读:(25) ⋅ 点赞:(0)

目录

环境包安装

 创建程序用户

解压源码包

配置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 = 1

sql_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/profile

echo 'export PATH' >> /etc/profile

source /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

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


网站公告

今日签到

点亮在社区的每一天
去签到