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