Centos7下使用编译安装mysql8
前言
目前业务常用的是mysql-5.7,官方还在更新,但是在2023年10月将停止支持,记录一下mysql8编译安装的过程,后期国产系统安装mysql也可以同样参考

一、安装步骤
1. 下载最新版本的mysql8的源码包
官网地址:https://dev.mysql.com/downloads/mysql/
下载指定版本Mysql

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.33.tar.gz
2. 解压下载的压缩包
tar zxvf mysql-boost-8.0.33.tar.gz
cd mysql-8.0.33
3. 预编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_dataDIR=/data/mysql/ -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DFORCE_INSOURCE_BUILD=1 - DWITH_BOOST=/opt/mysql-8.0.33/boost
异常提示 1:CMake 3.5.1 or higher is required. You are running version 2.8.12.2

解决方法:重新安装高版本,然后重新预编译
wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
tar zxvf cmake-3.9.2.tar.gz
cd cmake-3.9.2
./configure
make && make install
/usr/local/bin/cmake --version
ln -s /usr/local/bin/cmake /usr/bin/
异常提示 2:CMake Warning at CMakeLists.txt:396 (MESSAGE):
You need to install the required packages:
yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils

解决方法:
yum install centos-release-scl
yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils
4. 编译安装
make && make install
5. 配置文件
# 创建用户及用户组
groupadd mysql
useradd -g mysql -s /sbin/nologin -M mysql
# 创建数据存储目录
mkdir -p /data/mysql
# 目录授权
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql
# 添加mysql配置文件
echo "[mysqld]" >/etc/my.cnf
echo "bind-address=0.0.0.0" >>/etc/my.cnf
echo "port=3306" >>/etc/my.cnf
echo "basedir=/usr/local/mysql" >>/etc/my.cnf
echo "datadir=/data/mysql" >>/etc/my.cnf
echo "default-authentication-plugin=mysql_native_password" >>/etc/my.cnf
6. 初始化数据库并添加启动文件
# 初始化数据库
cd /usr/local/mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
# 复制启动文件
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# 开机自启动
chkconfig mysqld on
# 添加环境变量
echo "PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH" >>/etc/profile
echo "export PATH" >>/etc/profile
source /etc/profile
# 启动mysql
service mysqld start
总结
按照这个步骤即可安装mysql8,需要注意保存初始化中的mysql密码,用于登陆使用
本文介绍了在CentOS7系统上如何编译安装MySQL8.0,包括下载源码包,解决预编译和编译过程中的异常,创建用户和数据存储目录,配置启动文件,以及初始化数据库和设置开机自启动。

9606

被折叠的 条评论
为什么被折叠?



