一、安装必要的rpm
yum install -y bison bison-devel git wgetcmake gcc gcc-c++ ncurses ncurses-devel libaio libaio-devel opensslopenssl-devel perl perl-devel
yum install -y epel-release


二、更新gcc版本
2.1.检查gcc版本
我的centos7.9,gcc version为 4.8.5。需要更新。

2.2.更新gcc版本
yum install -y centos-release-scl
yum install -y devtoolset-10-gcc*
scl enable devtoolset-10 bash

2.3.再次检查gcc/g++版本
gcc -v
g++ -v

三、更新cmake版本
Mysql8.0.26要求CMake 3.5.1 or higher is required
3.1.版本查看 cmake --version
cmakeversion 2.8.12.2
3.2.卸载旧版本 yum remove –y cmake
--CMake3.5.1 or higher is required. You arerunning version 2.8.12.2
3.3.解压新版本到指定目录
cd yum
mkdir -p u02/app/cmake
wget https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1-linux-x86_64.tar.gz
tar zxf cmake-3.21.1-linux-x86_64.tar.gz -C/u02/app/cmake --strip-components=1

3.4.添加环境变量
echo "PATH=/u02/app/cmake/bin:$PATH">>/etc/profile
echo "export PATH ">>/etc/profile
source etc/profile
echo $PATH

3.5.检查cmake版本
[root@mysql5 yum]# cmake -version

四、创建mysql组和用户
groupadd mysql
useradd -r -g mysql mysql

五、创建相关目录
mkdir -p u02/app/mysql
mkdir -p u02/app/data3306

六、下载并编译源码
6.1. 下载解压源码
cd yum
wgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.26.tar.gz
tar zxf mysql-boost-8.0.26.tar.gz
cd mysql-8.0.26/


6.2.cmake
此步骤大约1~2分钟就完成了。
cmake -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost-DCMAKE_INSTALL_PREFIX=/u02/app/mysql -DMYSQL_DATADIR=/u02/app/data3306-DSYSCONFDIR=/u02/app -DMYSQL_TCP_PORT=3306 -DFORCE_INSOURCE_BUILD=1 -DCMAKE_C_COMPILER=/usr/bin/gcc-DCMAKE_CXX_COMPILER=/usr/bin/g++


6.3. make –j4
此步骤大约执行了25分钟才完成,还好没报错,不然。。。

漫长的等待。。。
漫长的等待。。。
大约25分钟后,终于看到100%了。。。

我测试环境是4C8G+SSD配置,开4个进程,大约25分钟完成,这个时间有点久了。
PS: RPM/二进制安装总共也花不了几分钟。。。所以,我不喜欢源码安装。除非有特别需要的底层改动,有定制化需求,才建议使用源码安装。
6.4. make install
此步骤大约1~2分钟就完成了。


七、目录权限调整
chown -R mysql.mysql u02/app/
cp/u02/app/mysql/support-files/mysql.server etc/init.d/mysql

八、配置环境变量
echo "MYSQLPATH=/u02/app/mysql/bin">>/etc/profile
echo "PATH=$MYSQLPATH:$PATH">>/etc/profile
echo "export PATH ">>/etc/profile
source /etc/profile
echo $PATH

九、修改my.cnf配置

十、初始化Mysql
mysqld --initialize-insecure

初始密码为空,后面注意修改
十一、启动Mysql
mysqld_safe &

十二、登录mysql并修改密码
mysql -uroot -p -S /u02/app/data3306/mysql.sock
ALTER USER 'root'@'localhost' IDENTIFIED BY'Aa123456';
CREATE USER 'amber'@'%' IDENTIFIED BY'Aa123456';
GRANT ALL PRIVILEGES ON *.* TOamber@"%" WITH GRANT OPTION;
flush privileges;

十三、业务user访问db

十四、至此,源码安装mysql8.0.26结束
综合对比下来,RPM/二进制安装比较简单快捷。
源码安装编译过程时间有点久,另外需要的rpm很多,gcc还需要更新,centos7.9默认gcc版本不支持mysql8.0.26版本。
十五、参考文献
https://dev.mysql.com/doc/refman/8.0/en/source-installation.html
https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html




