一、mysql-boost-8.0.31.tar.gz 源码下载
下载地址:https://dev.mysql.com
二、源码安装 MySQl 要求
cmake、Boost C++库、ncurses库、OpenSSL库 //需要cmake3,gcc-5.3以上;
三、源码搭建 MySQL 环境
1、创建用户名和组
groupadd mysql
useradd -r -g mysql -M -s /bin/false mysql
//参数说明:-M 不创建家目录 -s 指定 -r 创建系统账户
2、编辑 scl.repo 文件
cd /etc/yum.repos.d
vi scl.repo
//scl.repo文件内容如下:
[scl]
name=CentOS-7 - SCLo sclo baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
3、使用 scl 软件集安装 gcc
yum install devtoolset-7-gcc devtoolset-7-gcc-c++
source /opt/rh/devtoolset-7/enable
gcc -v //查看gcc版本
yum install epel*
yum clean all
yum makecache
yum install cmake3 ncurses ncurses-devel bison openssl*
4、把 mysql-boost-8.0.31.tar.gz 文件传输到 CentOS 系统下,随便一个目录下都可以,一般使用 /usr/local/
注意:下列 cmake3 命令中 /usr/local/mysql为mysql安装路径,且上述两个 cmake3 命令选择一个执行即可!
tar zxvf mysql-boost-8.0.31.tar.gz
cd mysql-8.0.31
mkdir bld
cd bld
cmake3 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci - DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_BOOST=../boost ..
//带debug选项,用于gdb调试
cmake3 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci - DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_BOOST=../boost - DWITH_DEBUG=1
5、编译和安装
make -j4
make install
6、查看 /etc/ 目录下是否有 my.cnf 文件(注意:是文件而非文件夹);如果没有,进行创建并配置该文件;如果有,直接配置该文件即可;
注意:my.cnf文件中的 /usr/local/mysql 为mysql安装路径,根据自己情况进行更改,该mysql安装目录为:/usr/local/mysql;
vi /etc/my.cnf
//my.cnf文件内容如下
[client]
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
server-id=100
7、初始化
注意:cd 到mysql安装目录下,或者把mysql安装目录加在 bin/mysqld 前面,如:/usr/local/mysql/bin/mysqld,下面mysql的启动亦是如此;
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
8、初始化完成后,找到 mysql 安装目录下的 data 文件夹,初始化密码在 mysqld.log 日志中,自行找到即可,然后用初始密码进行登陆;初始密码实例如下:
9、启动 mysql
bin/mysqld_safe --user=mysql &
bin/mysql -uroot -p //执行该命令后出入初始密码,进入mysql
10、修改密码,下面命令是将初始密码修改为 '123456'
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
至此,CentOS 7 系统下,源码搭建 MySQL 8.0.31 完成!