1、环境准备

1.1 源码软件包下载

mysql8下载传送门cmake3下载传送门

选择source code源码包,并且在下边选择适合你服务器的系统。

ubuntu mysql8编译出错 编译安装mysql8_centos


速度慢的话 可以复制下载链接去迅雷。

下载成功后可以通过 rz 上传到服务器上。

1.2 依赖安装

sudo yum -y install ncurses ncurses-devel
sudo yum -y pcre_devel openssl-devel gcc gcc-c++ make automake
yum install centos-release-scl -y
yum install devtoolset-10 -y
sudo yum -y install devtool-set10
# 1、ncurses 是一套编程库
 # 它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面
 # 2、cmake3是 CMake是一个跨平台的安装(编译)工具,
 #可以用简单的语句来描述所有平台的安装(编译过程)
 # 是一个跨平台的安装(编译)工具
 # 可以用简单的语句来描述所有平台的安装(编译过程)。
 #
 #
 # gcc pcre-devel openssl-devel gcc-c++
 # 3、gcc 是由GNU开发的编程语言译器
 # 4、pcre 是一个Perl库,包括 perl 兼容的正则表达式库。
 # 5、openssl-devel OpenSSL是一个强大的安全套接字层密码库,
 # Apache使用它加密HTTPS,OpenSSH使用它加密SSH,
 # 6、gcc-c++ c语言编译器

1.3 解压软件包

把下载好的 cmake 以及mysql8 进行解压。

ubuntu mysql8编译出错 编译安装mysql8_linux_02

##sudo tar -vxf "压缩包" -C "解压路径"
sudo tar -vxf cmake-3.12.4.tar.gz -C package/
sudo tar -vxf mysql8.tar.gz -C package

1.4 配置编译cmake

进入cmake解压后的目录,执行./bootstrap 和 gmake和sudo gmake install。
之后安装完成后把cmake添加到环境变量中

./bootstrap
gmake
sudo gmake install

进入到解压后的bin目录下,查看当前路径,之后把路径追加到用户的./bashrc文件里

ubuntu mysql8编译出错 编译安装mysql8_linux_03

echo export PATH="/bin路径":$PATH > /用户家目录/.bashrc
例如:export PATH=/app/soft/package/cmake-3.12.4/bin:$PATH
source /用户家目录/.bashrc

查看cmake版本来验证是否安装成功

下图是正常安装的版本提示。

ubuntu mysql8编译出错 编译安装mysql8_mysql_04

1.4 配置编译mysql8

进入到mysql8的解压目录,执行以下语句
相关配置请自行修改

sudo cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql8/mysql_install \
-DMYSQL_DATADIR=/app/mysql8/mysql_data \
-DSYSCONFDIR=/app/mysql8/mysql_install/etc \ 
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DFORCE_INSOURCE_BUILD=1
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \ 
-DEXTRA_CHARSETS=all \
-DMYSQL_UNIX_ADDR=/app/mysql8/mysql_install/tmp/mysql8.sock \
-DMYSQL_USER=apps \hi's
-DMYSQL_TCP_PORT=9014 \ 
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/app/soft/package/mysql-8.0.25/boost/ \
-DWITH_EMBEDDED_SERVER=OFF \
-DCMAKE_C_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/gcc \ 
-DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/g++

若编译无错,则进行 make && make install。

成功之后 检查安装的目录,如图下即为成功。

ubuntu mysql8编译出错 编译安装mysql8_mysql_05

2、初始化数据库

./mysqld --defaults-file=/app/mysql8/mysql_install/etc/mysql8.cnf --initialize --user=app
./mysqld_safe --defaults-file=/app/mysql8/mysql_install/etc/mysql8.cnf --user=app &

之后 ps -ef | grep mysql

查看是否进程存在,存在的话登录即可,初始化的密码可以在error.log中看到。

ubuntu mysql8编译出错 编译安装mysql8_ubuntu_06

ubuntu mysql8编译出错 编译安装mysql8_ubuntu mysql8编译出错_07


之后登录即可。