之前有一篇 Centos 7 编译安装MySql 8.0.11的文章,最近MySql发布了8.0.16,发现编译安装跟之前不太一样,所以记录一下,闲话少叙,开整。
官方编译安装需求:https://dev.mysql.com/doc/refman/8.0/en/source-installation.html
其中对于GCC的版本要求从 4.8 提升到了 5.3+ ,并且弃用cmake改用cmake3,所以编译安装第一步就是升级GCC的版本和安装cmake3
1、安装gcc 8.2 及cmake3
# yum install epel-release
# yum install cmake3 centos-release-scl scl-utils-build # 安装centos-release-scl
# yum list all –enablerepo=’centos-sclo-rh’| grep devtoolset # 查看可以安装的GCC版本
# yum install devtoolset-8-gcc.x86_64 devtoolset-8-gcc-c++.x86_64 devtoolset-8-gcc-gdb-plugin.x86_64 # 一步到位安装GCC 8.2
# mv /usr/bin/gcc /usr/bin/gcc.4.8.5 # 备份gcc 4.8.5的版本
# mv /usr/bin/gcc-ar /usr/bin/gcc-ar.4.8.5
# mv /usr/bin/gcc-nm /usr/bin/gcc-nm.4.8.5
# mv /usr/bin/gcc-ranlib /usr/bin/gcc-ranlib.4.8.5
# mv /usr/bin/c++ /usr/bin/c++.4.8.5
# mv /usr/bin/c++filt /usr/bin/c++filt.4.8.5
# ln -s /opt/rh/devtoolset-8/root/usr/bin/* /usr/bin/ # 软连接新版GCC
# gcc -v # 查看GCC版本
2、编译安装MySql 8.0.16
# wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.16.tar.gz && tar zxvf mysql-boost-8.0.16.tar.gz && cd mysql-boost-8.0.16
# cmake3 -DCMAKE_INSTALL_PREFIX=/mysql/ -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8mb4_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/software -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_DEBUG=0 -DWITH_SSL=systemABLE_DTRACE=0 -DWITH_SSL=system -DFORCE_INSOURCE_BUILD=1
-DFORCE_INSOURCE_BUILD=bool定义是否强制进行源内构建。建议使用源外构建,因为它们允许来自同一源的多个构建,并且可以通过删除构建目录来快速执行清理。要强制在代码构建,调用CMake的使用
# make && make install
剩余的安装步骤请看之前的8.0.11的安装方法