由于一个老项目的 MySQL 被扫到了安全漏洞,所以需要进行升级。
本次 MySQL 升级目标为从当前的 5.7.19
升级到 5.7.32
。
Server 环境为 CentOS 7
,最初部署方式为下载 tar 包,解压后 rpm 安装,所以采用相同方式进行升级。
由于是离线环境,需要先准备好 mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar 。
更新前确认 MySQL 版本。
mysql -V
mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
停止 MySQL 服务。
systemctl stop mysqld
备份数据库。
备份配置文件:
/etc/my.cnf
采用
mysqldump
的形式备份为 SQL 文件mysqldump -u${username} -p${password} ${database} | gzip > /home/${path}/${database}.gz
备份数据库文件:
/var/lib/mysql
上传 tar 包至 server,进入所在目录。
# 解压
tar xvf mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
# 执行升级
rpm -Uvh mysql-community-common-5.7.32-1.el7.x86_64.rpm --nodeps
rpm -Uvh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -Uvh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -Uvh mysql-community-server-5.7.32-1.el7.x86_64.rpm
重启 MySQL 并执行升级兼容检查。
systemctl start mysqld
# 确认状态
mysql_upgrade -u -p
systemctl restart mysqld
确认升级后版本。
mysql -V
mysql Ver 14.14 Distrib 5.7.32, for Linux (x86_64) using EditLine wrapper
升级完成。