目录
1 编译前的准备
1.1 安装cmake
1.2 安装gcc
2 源码编译安装
2.1 使用cmake检查环境并指定路径
2.2 使用 make 进行源码编译
2.3 使用 make install 安装MySQL
3 MySQL源码安装环境配置
3.1 创建mysql 用户
3.2 编辑my.cnf 文件
3.3 conkconfig 创建开机自启服务
3.4 配置系统环境变量
1 编译前的准备
1.1 安装cmake
[root@mysql-01 mysql]# yum install cmake
1.2 安装gcc
源码编译需要gcc
[root@mysql-02 mysql-5.7.44]# yum install gcc gcc-c++
2 源码编译安装
2.1 使用cmake检查环境并指定路径
[root@mysql-02 mysql-5.7.44]# cmake -DINSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNODB_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all \
-DFORCE_INSPECT=1 \
-DCONNECT_WITH_SYSTEMD=OFF \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_BOOST=/usr/local/src/mysql-5.7.44/boost/boost_1_59_0
安装过程出现了错误,不用担心我们来解决他
[root@mysql-02 mysql-5.7.44]# yum search openssl
[root@mysql-02 mysql-5.7.44]# yum install openssl-devel.x86_64
再次编译
[root@mysql-02 mysql-5.7.44]# cmake -DINSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNODB_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all \
-DFORCE_INSPECT=1 \
-DCONNECT_WITH_SYSTEMD=OFF \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_BOOST=/usr/local/src/mysql-5.7.44/boost/boost_1_59_0
又出现问题了,没事都是小问题,与上面一样查找库里面有没有
[root@mysql-02 mysql-5.7.44]# yum search Curses
再次编译
[root@mysql-02 mysql-5.7.44]# cmake -DINSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNODB_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all \
-DFORCE_INSPECT=1 \
-DCONNECT_WITH_SYSTEMD=OFF \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_BOOST=/usr/local/src/mysql-5.7.44/boost/boost_1_59_0
出现问题删掉他
这个是cmake编译的缓存,存放在这里,就算结束了下次也不需要重新编译
虽然说很好但是这里会报错,就先把他删掉
[root@mysql-02 mysql-5.7.44]# rm -rf CMakeCache.txt
再次编译
[root@mysql-02 mysql-5.7.44]# cmake -DINSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNODB_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all \
-DFORCE_INSPECT=1 \
-DCONNECT_WITH_SYSTEMD=OFF \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_BOOST=/usr/local/src/mysql-5.7.44/boost/boost_1_59_0
最后会出现这样子的界面,在检查一遍就好了
再来一遍
[root@mysql-02 mysql-5.7.44]# cmake -DINSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNODB_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all \
-DFORCE_INSPECT=1 \
-DCONNECT_WITH_SYSTEMD=OFF \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_BOOST=/usr/local/src/mysql-5.7.44/boost/boost_1_59_0
OK这里已经算安装好成功了
2.2 使用 make 进行源码编译
接下来进行编译,时间比较久啦,请耐心等待
# 定义两个核心去编译,加快编译
[root@mysql-02 mysql-5.7.44]# make -j2
成功标识
2.3 使用 make install 安装MySQL
编译已完成,接下来是安装
[root@mysql-02 mysql-5.7.44]# make install
3 MySQL源码安装环境配置
3.1 创建mysql 用户
[root@mysql-02 ~]# useradd -s /sbin/nologin -M mysql
3.2 编辑my.cnf 文件
[root@node10 my.cnf.d]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql # 指定数据目录
socket=/data/mysql/mysql.sock # 指定套接字
symbolic-links=0 # 数据只能存放到数据目录中,禁止链接到数据目录
3.3 conkconfig 创建开机自启服务
复制启动的脚本文件到 init.d 之下
[root@mysql-02 support-files]# pwd
/usr/local/mysql/support-files
[root@mysql-02 support-files]# cp mysql.server /etc/init.d/mysqld
设置开机自启,并创建系统服务(会自动创建systemd服务)
# 命令会设置服务在系统启动时自动启动 默认 级别2~5
[root@mysql-02 support-files]# chkconfig mysqld on
3.4 配置系统环境变量
[root@mysql-02 support-files]# vim ~/.bash_profile
PATH=$PATH:/usr/local/mysql/bin
[root@mysql-02 support-files]# source ~/.bash_profile