温馨提示×

centos mysql怎样升级版本

小樊
51
2026-10-05 16:37:18
栏目: 云计算

在 CentOS 上升级 MySQL 版本,常见做法有两种:小版本升级(如 5.7.32 → 5.7.40) 和 大版本升级(如 5.7 → 8.0)。下面按安全、可控的方式说明。


一、升级前必做(非常重要)

1. 备份数据

mysqldump -u root -p --all-databases > all_db.sql

或物理备份:

systemctl stop mysqld
cp -r /var/lib/mysql /var/lib/mysql_bak

2. 查看当前版本

mysql -V
# 或
rpm -qa | grep mysql

3. 确认 CentOS 版本

cat /etc/redhat-release

二、小版本升级(5.7.x → 5.7.y)

方法:使用官方 YUM 源

1. 添加 MySQL YUM 源

rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

(CentOS 7 用 el7,CentOS 8 用 el8)

2. 只启用 5.7 源

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

3. 升级

yum update mysql-server

4. 重启

systemctl restart mysqld

三、大版本升级(如 5.7 → 8.0)

⚠️ 不能直接 yum update,需:

方式一:官方推荐(逻辑升级)

1. 备份

mysqldump -u root -p --all-databases > full.sql

2. 卸载旧版本

systemctl stop mysqld
 yum remove mysql-server mysql-client

3. 安装 8.0

yum-config-manager --enable mysql80-community
yum install mysql-server

4. 初始化并导入

systemctl start mysqld
mysql -u root -p < full.sql

方式二:原地升级(in-place,有风险)

仅适合 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

五、常见问题

1. 密码认证方式变化(8.0)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

2. sql_mode 变化

5.7 → 8.0 默认更严格,老程序可能报错。

3. 无法启动

查看:

journalctl -xe
/var/log/mysqld.log

六、建议

  • ✅ 测试环境先升
  • ✅ 必须备份
  • ✅ 大版本用逻辑升级最稳

如果你告诉我:

  • CentOS 版本
  • 当前 MySQL 版本
  • 是否生产环境

我可以给你精准升级命令。

0 踩