CentOS版本 7.9,需要升级CMake到CMake3,需要升级GCC到5.3以上版本,本次编译采用的是CMake 3.21.1+GCC 11.2.0的版本。
MySQL版本 8.0.26,MySQL现在很与时俱进了,源码包都直接带Boost库了,这个版本带的Boost库是1.73.0版本的,可以直接使用带boost库的源码包编译,不必另行安装Boost了。
过程耗时的地方就是升级GCC比较麻烦,也反映出CentOS7有点老旧了,还是CentOS8更方便一些。编译需要12G的磁盘空间,安装需要2G的磁盘空间。
MySQL依赖ncurses库,先安装
sudo yum install ncurses-devel
CMake执行命令
cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql -DWITH_SYSTEMD=1 -DCMAKE_CXX_COMPILER=/usr/local/gcc-11.2.0/bin/g++ -DCMAKE_C_COMPILER=/usr/local/gcc-11.2.0/bin/gcc -DFORCE_INSOURCE_BUILD=1 -DWITH_BOOST=/home/appadmin/download/mysql-8.0.26/boost -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DSYSCONFDIR=/etc
安装完成之后,设置root密码
如果为空
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';
如果不为空
use mysql;
update user set authentication_string='' where user='root';--将字段置为空
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root