
环境:
系统:Centos 7.9 2203
安装版本:MySQL 9.0.1
主机配置:48C-64G(ESXI环境)
准备工作:
换源:
# 更换阿里SCL源
cat > /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo <<-EOF
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF
yum clean all && yum makecache && yum update -y
安装编译工具包:
yum -y install wget git vim libaio.so.1 gcc gcc-c++ ncurses ncurses-devel openssl-devel libaio perl net-tools centos-release-scl devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
scl enable devtoolset-11 bash
清理环境并新建用户:
rm -rf /etc/my*
rm -rf /var/lib/mysql
userdel -r mysql
useradd -r mysql -M -s /bin/false
准备编译目录:
# 如果速度慢可下载文中里的网盘链接,自行上传到家目录即可!
# 本站赞助用户可提供不限速直链和技术支持
cd ~
wget --content-disposition "https://downloads.mysql.com/archives/get/p/23/file/mysql-9.0.1.tar.gz"
wget --content-disposition "https://ghp.ci/github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0.tar.gz"
mkdir -p /usr/local/{data,mysql,log}
mkdir -p /usr/local/mysql-build
tar xzvf mysql-9.0.1.tar.gz -C /usr/local/
tar zxvf cmake-3.31.0.tar.gz
升级CMake:
cd cmake-3.31.0
yum remove cmake
./configure --prefix=/usr/local/cmake
make -j$(nproc) && make install
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
cmake -version
编译安装时间10-30分钟,请耐心等待!
输出版本为3.31即安装成功:
安装MySQL:
整个编译过程大约需要3-8小时不等,具体看CPU性能,实测最快15分钟
运行CMake:
#删除编译缓存
rm -f /usr/local/mysql-9.1.0/CMakeCache.txt
rm -rf /usr/local/mysql-build/*
#编译命令
cd /usr/local/mysql-build
cmake /usr/local/mysql-9.0.1 \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_BOOST=boost/boost_1_59_0/
编译安装:
# 使用空闲CPU线程进行编译
make -j$(nproc) && make install
# 使用全部CPU线程进行编译(48改为你实际的CPU线程)
# make -j 48 && make install
安装检测:
echo $?
# 如果返回0则安装成功,返回1则安装失败
清理编译:
rm -rf /usr/local/mysql-build/*
rm -rf /usr/local/mysql-9.0.1/*
rm -rf cmake-3.31.0*
rm -rf ~/*.tar.gz
rm -rf ~/*.sh
设置MySQL
创建MySQL配置文件:
cat > /etc/my.cnf <<-EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
user=mysql
[client]
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
初始化MySQL:
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
务必记住password
设置自启动:
cat > /etc/systemd/system/mysqld.service <<-EOF
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown -u root -p
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 重载配置
systemctl daemon-reload
# 启动MySQL
systemctl start mysqld
# 设置开机自启动
systemctl enable mysqld
# 查看运行状态
systemctl status mysqld
输出active (running)代表服务正常
查看端口占用:
netstat -ntulp | grep 3306
设置环境变量:
两者二选一
全局变量:
echo 'export PATH=$PATH:/usr/local/mysql/bin' | sudo tee -a /etc/profile
特定用户变量:
# 以下两者二选一
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
检查变量设置情况
mysql -V
Ok!下课!
参考:
【Linux】MySQL编译安装步骤(保姆级教程)_mysql linux编译-CSDN博客
广告:
© 版权声明
THE END
- 最新
- 最热
只看作者