You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不影响生产实例的情况下将MySQL 5.7.29升级至5.7.38

MySQL 5.7.29 → 5.7.38 无停机升级操作步骤

由于是同大版本内的小版本升级,风险可控,以下两种方案可实现生产实例无影响升级:

前置必做操作

  • 全量备份生产数据(务必验证备份可用):
    mysqldump -u root -p --all-databases --single-transaction --master-data=2 --flush-logs > full_backup_$(date +%Y%m%d).sql
    
  • 将备份导入测试实例,确认数据完整
  • 下载对应操作系统的 MySQL 5.7.38 安装包(rpm/deb 格式)

方案1:主从架构滚动升级(推荐)

适用于已有主从复制的生产环境,全程无业务中断

  1. 升级从库

    • 停止复制进程:
      STOP SLAVE;
      
    • 关闭从库服务:
      systemctl stop mysqld
      
    • 卸载旧版本程序包(保留数据和配置文件):
      # RHEL/CentOS 系统
      yum remove mysql-community-server-5.7.29
      # Debian/Ubuntu 系统
      apt remove mysql-server-5.7.29
      
    • 安装5.7.38版本:
      # RHEL/CentOS 系统
      yum install mysql-community-server-5.7.38
      # Debian/Ubuntu 系统
      apt install mysql-server-5.7.38
      
    • 启动从库并检查版本:
      systemctl start mysqld
      mysql -V
      
    • 恢复复制并验证状态:
      START SLAVE;
      SHOW SLAVE STATUS\G
      
      确保Slave_IO_Running和Slave_SQL_Running均为Yes,无复制延迟
  2. 切换流量至升级后的从库

    • 修改应用的数据库连接地址为该从库IP
    • 验证业务运行正常后,将该从库设为新主库:
      RESET MASTER;
      
  3. 升级原主库

    • 重复步骤1的操作,将原主库升级至5.7.38
    • 可选:将原主库设置为新主库的从库,恢复主从架构

方案2:单实例无停机升级

单实例环境需先搭建临时从库,再完成切换

  1. 基于生产实例的全量备份,搭建一个临时从库(版本5.7.29),确保复制同步正常
  2. 按照方案1的步骤升级临时从库至5.7.38
  3. 将应用流量切换至临时从库,验证业务正常
  4. 升级原生产实例至5.7.38,之后可将其设为新主库的从库,或直接作为主库使用

收尾检查

  • 查看错误日志,确认无异常:
    tail -n 50 /var/log/mysqld.log
    
  • 执行mysql_upgrade确保元数据同步(同大版本可选,但建议执行):
    mysql_upgrade -u root -p
    

内容的提问来源于stack exchange,提问作者Prasad Karguppikar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 07:24:23