在 CentOS 上升级 MySQL 版本,常见做法有两种:小版本升级(如 5.7.32 → 5.7.40) 和 大版本升级(如 5.7 → 8.0)。下面按安全、可控的方式说明。
mysqldump -u root -p --all-databases > all_db.sql
或物理备份:
systemctl stop mysqld
cp -r /var/lib/mysql /var/lib/mysql_bak
mysql -V
# 或
rpm -qa | grep mysql
cat /etc/redhat-release
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
(CentOS 7 用 el7,CentOS 8 用 el8)
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum update mysql-server
systemctl restart mysqld
⚠️ 不能直接 yum update,需:
mysqldump -u root -p --all-databases > full.sql
systemctl stop mysqld
yum remove mysql-server mysql-client
yum-config-manager --enable mysql80-community
yum install mysql-server
systemctl start mysqld
mysql -u root -p < full.sql
仅适合 5.7 → 8.0 且测试环境:
systemctl stop mysqld
yum install mysql-server
systemctl start mysqld
mysql_upgrade
⚠️ 生产环境不推荐
mysql_upgrade -u root -p
mysql -e "SELECT VERSION();"
检查错误日志:
tail -n 50 /var/log/mysqld.log
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
5.7 → 8.0 默认更严格,老程序可能报错。
查看:
journalctl -xe
/var/log/mysqld.log
如果你告诉我:
我可以给你精准升级命令。