下载源码包文件

MySQL源码包文件名一般为 mysql-version.tar.gz。
5.7 之前的版本只需要下载源码包就行了,5.7 开始还需要下载同版本的 mysql-boost 包。

安装编译工具和依赖包

从 5.5 版本开始,源码编译工具换成了 CMake(RHEL ISO 自带)。

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

准备用户与组

注意生产系统还需要配置用户的资源限制,参照 Oracle 实施方案。

# useradd -s /sbin/nologin mysql

编译配置

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.26 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='CY COMPILATION' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysql/3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.3306.sock \
-DWITH_BOOST=/root/mysql-5.7.26/boost_1_59_0

5.7 之前的版本不需要最后一行 SWITH_BOOTST,5.7 需要 BOOST。
这些目录不需要手动创建,软件安装目录会自动创建,数据目录后面手动创建!

# make (约1个多小时)
# make install

配置目录与用户环境

# chown -R mysql.mysql /usr/local/mysql-5.7.26
# ln -s /usr/local/mysql-5.7.26 /usr/local/mysql

# vi .bash_profile
export PATH=/usr/local/mysql/bin:$PATH:$HOME/bin

初始化数据库

# mkdir -p /data/mysql/3306/
# chown -R mysql.mysql /data/mysql

5.6的初始化方法:
# /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql/3306/ --basedir=/usr/local/mysql --user=mysql

5.7的初始化方法:
# mysqld --initialize --datadir=/data/mysql/3306/ --basedir=/usr/local/mysql --user=mysql
# mysql_ssl_rsa_setup --uid=mysql --datadir=/data/mysql/3306/

启动并连接实例

# cat /etc/my.cnf
[mysqld]
port=3306
socket=/tmp/mysql.3306.sock
datadir=/data/mysql/3306

# mysqld_safe --defaults-file=/etc/my.cnf &

# mysql -uroot -p
mysql> set password=password("oracle");
-- By 许望(RHCA、OCM、VCP)
最后修改:2020 年 01 月 02 日 08 : 37 PM
如果觉得我的文章对你有用,请随意赞赏