温馨提示×

centos怎么升级mysql

小樊
45
2026-10-14 13:06:11
栏目: 云计算

在 CentOS 上升级 MySQL,常见做法有 yum 升级(小版本) 和 手动/官方仓库升级(大版本)。下面按场景说明。


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

# 1. 备份数据库
mysqldump -uroot -p --all-databases > all_db.sql

# 2. 备份配置文件
cp /etc/my.cnf /etc/my.cnf.bak

# 3. 查看当前版本
mysql -V
rpm -qa | grep mysql

二、小版本升级(如 5.7.32 → 5.7.44)

适用于同大版本内升级,最安全。

1. 使用系统 yum 源

yum makecache
yum update mysql-server

2. 使用 MySQL 官方 yum 源

# 安装官方 repo(示例)
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

yum update mysql-community-server

重启服务:

systemctl restart mysqld

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

⚠️ 不能直接覆盖升级,需要谨慎。

方法一:官方仓库升级(推荐)

# 启用 8.0 仓库
yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql80-community

yum update mysql-community-server
systemctl restart mysqld

升级后执行:

mysql_upgrade

(MySQL 8.0 一般会自动完成)


方法二:逻辑导出导入(最安全)

适合生产环境重要库。

# 导出
mysqldump -uroo -p --all-databases > all.sql

# 卸载旧版
yum remove mysql-server

# 安装新版
yum install mysql-community-server

# 导入
mysql -uroot -p < all.sql

四、常见问题

1. 启动失败

查看日志:

cat /var/log/mysqld.log

2. 配置文件不兼容

MySQL 8.0 不支持部分 5.7 参数,需清理 my.cnf。

3. 密码认证问题

8.0 默认 caching_sha2_password,老程序需改回:

ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'pass';

五、建议

  • 小版本:直接 yum
  • 大版本:备份 + 测试环境验证
  • 生产环境:先快照 / 克隆机器

如果你告诉我:

  • CentOS 版本(6/7/8)
  • MySQL 当前版本
  • 目标版本

我可以给你精确命令。

0 踩