CentOS 7 源码编译安装MySQL 8.0
MySQL是一款开源的关系型数据库,目前最新的大版本为8.0,本文将介绍CentOS 7.2环境下,源码编译安装MySQL 8.0的过程以及遇到的问题。
环境:
- CentOS 7.2
- MySQL 8.0.18
一、下载MySQL 8.0 源码
MySQL官方社区版:https://github.com/mysql/mysql-server
Percona Server for MySQL版本:https://github.com/percona/percona-server
这里我们使用官方版本,下载8.0.18版本压缩包,自带boost库,如下:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.18.tar.gz
当然也可以自己下载boost库,不使用mysql自带的boost库,如下:
wget https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
二、安装配置编译环境
yum install -y gcc gcc-c++ cmake3 gdb
yum install -y libaio bison zlib-devel openssl-devel patch ncurses-devel
注意:
MySQL 8.0.18 依赖cmake 3.5.1及以上版本,GCC 5.3及以上版本。
源码编译安装高版本cmake和gcc参考文章:
- CentOS 7 源码编译安装高版本 cmake
- CentOS 7 源码编译安装高版本GCC
三、编译安装
解压:
tar xf mysql-boost-8.0.18.tar.gz
cd mysql-8.0.18
设置高版本GCC环境变量:
由于高版本GCC安装在/usr/local目录下,设置cmake使用高版本GCC,如下:
export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++
配置编译选项:
cmake -DCMAKE_INSTALL_PREFIX=/data/mysql_8_0_18
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_EDITLINE=bundled
-DENABLED_LOCAL_INFILE=1
-DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF
-DDOWNLOAD_BOOST=0
-DWITH_BOOST=/data/boost/boost_1_70_0
-DFORCE_INSOURCE_BUILD=1
-DWITH_PLUGIN_NDBCLUSTER=0
-DWITH_ARCHIVE_STORAGE_ENGINE=0
-DWITH_BLACKHOLE_STORAGE_ENGINE=0
-DWITH_FEDERATED_STORAGE_ENGINE=0
#编译安装
make
make install