1、 前提条件
a) 安装依赖软件
apt install cmake gcc g++ bison libssl-dev gdb perl libncurses5-dev pkg-config
b) cmake无法安装可从官方网站下载离线安装包https://cmake.org/download/
解压安装后,执行 ln -sf ${CMAKE_PATH}/bin/* /usr/bin/
c) openssl安装可从官方网站下载离线安装包https://www.openssl.org/source/
执行如下命令:
tar zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config shared(安装的默认路径是/usr/local,如果你想更改目录,请加上–prefix=/yourpath)
make
make test
make install
创建符号链接
#ln -s /usr/local/bin/openssl /usr/bin/openssl
#ln -s /usr/local/include/openssl /usr/include/openssl
#ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
#ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
d) Mysql8.0.19 源码包,可以从这里下载:
http://dev.mysql.com/downloads/mysql/ 下载的时候,选择Source Code;
e) boost库安装
需首先安装可能的依赖包
apt install mpi-default-dev libicu-dev libbz2-dev
从官网下载源代码包,https://www.boost.org/users/download/
将压缩包上传至/usr/local目录下,并执行如下指令
tar -jxvf boost_1_70_0.tar.bz2
cd boost_1_70_0
./bootstrap.sh
./b2
./b2 install
2、配置步骤
预先执行命令
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
a) 将mysql源码包,拷贝到安装目录下,如:/usr/local,并解压。
b) 执行命令:cd /usr/local/mysql-8.0.19
c) 为保持安装目录整洁,执行命令:
# Beginning of source-build specific instructions
shell> tar zxvf mysql-8.0.19.tar.gz
shell> cd mysql-8.0.19
shell> mkdir bld
shell> cd bld
shell> cmake ..
d)编译带Boost源码的配置命令如下:
shell> cmake .. -DWITH_BOOST=/usr/local/mysql-8.0.19/boost/
e)编译自动下载Boost源码的配置命令如下:
shell> cmake .. -DOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/mysql-8.0.19/boost/
f) 如果在后续编译时发生问题,需要调整编译选项,为避免之前生成的中间文件影响,需要首先对编译结果进行清理,可执行如下指令:
make clean
rm CMakeCache.txt
3、编译步骤
a) 执行编译命令
shell> make
shell> make install
# End of source-build specific instructions
#为加快编译速度可根据编译机器核数,增加选项如四核编译: -j4
b) 执行安装命令,用于将编译结果打包成压缩包
shell> make package
c)执行后续验证与用户创建等命令
# Postinstallation setup
shell> cd /usr/local/mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
4、参考资料
编译结果功能验证,包括初始化数据路径、启动服务、测试服务、确保初始账户安全、自动启停服务
https://dev.mysql.com/doc/refman/8.0/en/postinstallation.html
整个编译过程可参考如下网站查询细节或寻求问题解决方案。
https://dev.mysql.com/doc/refman/8.0/en/source-installation.html
使用CMake安装Server文档
https://dev.mysql.com/doc/internals/en/cmake.html