[toc]
CentOS7编译安装MySQL8.0
1.安装依赖包
yum -y install bison-devel ncurses-devel openssl-devel libtirpc-devel
2.安装cmake
:::tip说明
mysql8源码编译安装需要的cmake版本为3.5.1+,在centos7.9中yum源安装的cmake版本为2.8.12.2,在使用cmake编译配置的时候会报错如下
:::
安装 cmake3
yum -y install cmake3
3.安装gcc
:::tip说明
mysql8源码编译安装需要的gcc版本为5.3+,在centos7.9中yum源安装的gcc版本为4.8.5,在编译配置的时候会报错如下
在安装完 gcc7
后,需要将安装的 cc
、c++
命令软链接到 /usr/bin
下,否则会报错如下
:::
# 安装epel源
yum install -y epel-release
# 安装gcc7和其他必要的编译工具
yum -y install centos-release-scl
yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils make
# 启用已安装的gcc7版本
scl enable devtoolset-7 bash
# 将安装的 cc c++ 命令软连接到 /usr/bin,使用如上方式安装的命令位于 /opt/rh/devtoolset-7/root/usr/bin
ln -sf `which cc` /usr/bin
ln -sf `which c++` /usr/bin
4.安装boost
4.1 boost简介
Boost库被列为MySQL的一个可选依赖项,用于提供额外的功能支持。MySQL中使用Boost库主要是为了提供以下功能支持:
- 安全套接字层(SSL)加密
- 优化锁定、同步和线程池的实现
- 对STL的增强支持
对于MySQL 8.0,官方文档并没有说明需要的具体boost库版本。如果没有安装Boost库,可以使用CMake中的 -DDOWNLOAD_BOOST=1
选项自动下载并安装Boost库,也可以手动安装最新的版本。
4.2 安装boost
:::tip说明
mysql8.0.22需要的boost版本为1.73.0
:::
下载包
wget https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.bz2
解压缩至 /usr/local
下
tar xf boost_1_73_0.tar.bz2 -C /usr/local
5.下载MySQL8.0源码包
export MYSQL_VERSION=8.0.22
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-${MYSQL_VERSION}.tar.gz
6.解压缩源码包
tar xf mysql-${MYSQL_VERSION}.tar.gz
7.进入解压目录,开始编译安装
7.1 进入到解压后的目录
cd mysql-${MYSQL_VERSION}
7.2 进行cmake编译配置
cmake3 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-${MYSQL_VERSION} \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_ZLIB:STRING=bundled \
-DWITH_SYSTEMD=1 \
-DDOWNLOAD_BOOST=0 \
-DWITH_DEBUG=0 \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_BOOST=/usr/local/boost_1_73_0