插件窝 干货文章 Centos7下MySQL主从同步小版本升级

Centos7下MySQL主从同步小版本升级

升级 sql 主从 master 490    来源:    2025-05-12

CentOS 7下MySQL主从同步环境的小版本升级指南

升级前的准备工作

  1. 备份数据

    # 在主库和从库上都执行完整备份
    mysqldump -u root -p --all-databases --master-data=2 --single-transaction > full_backup.sql
    
  2. 检查当前版本

    SHOW VARIABLES LIKE 'version%';
    
  3. 验证主从同步状态

    SHOW SLAVE STATUS\G
    

升级步骤

方案一:滚动升级(推荐)

  1. 停止从库复制

    STOP SLAVE;
    
  2. 升级从库

    # 停止MySQL服务
    systemctl stop mysqld
    
    # 备份当前配置
    cp /etc/my.cnf /etc/my.cnf.bak
    
    # 升级MySQL软件包
    yum update mysql-server
    
    # 启动MySQL服务
    systemctl start mysqld
    
  3. 验证从库升级

    SHOW VARIABLES LIKE 'version%';
    
  4. 启动从库复制

    START SLAVE;
    
  5. 监控复制状态

    SHOW SLAVE STATUS\G
    
  6. 升级主库

    # 在主库上执行相同升级步骤
    systemctl stop mysqld
    yum update mysql-server
    systemctl start mysqld
    

方案二:同时升级主从库

  1. 停止主库写入

    FLUSH TABLES WITH READ LOCK;
    
  2. 记录主库二进制日志位置

    SHOW MASTER STATUS;
    
  3. 停止从库复制

    STOP SLAVE;
    
  4. 升级主库和从库

    # 在主库和从库上执行
    systemctl stop mysqld
    yum update mysql-server
    systemctl start mysqld
    
  5. 重新配置主从

    -- 在从库上执行
    CHANGE MASTER TO
    MASTER_HOST='master_host',
    MASTER_USER='repl_user',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='recorded_log_file',
    MASTER_LOG_POS=recorded_log_pos;
    
    START SLAVE;
    
  6. 解锁主库

    UNLOCK TABLES;
    

升级后验证

  1. 检查版本一致性

    SHOW VARIABLES LIKE 'version%';
    
  2. 验证复制状态

    SHOW SLAVE STATUS\G
    
  3. 测试数据同步

    -- 在主库上创建测试数据
    CREATE DATABASE upgrade_test;
    USE upgrade_test;
    CREATE TABLE test_table (id INT);
    INSERT INTO test_table VALUES (1);
    
    -- 在从库上验证
    SELECT * FROM upgrade_test.test_table;
    

常见问题处理

  1. 复制中断

    -- 查看错误原因
    SHOW SLAVE STATUS\G
    
    -- 跳过错误(谨慎使用)
    SET GLOBAL sql_slave_skip_counter = 1;
    START SLAVE;
    
  2. 版本不兼容

    • 如果遇到版本不兼容问题,可能需要重新初始化从库
  3. 配置文件冲突

    # 比较新旧配置文件差异
    diff /etc/my.cnf /etc/my.cnf.rpmnew
    

注意事项

  1. 建议在低峰期进行升级
  2. 确保有完整的备份
  3. 小版本升级通常兼容,但建议查阅官方发布说明
  4. 如果跨大版本升级(如5.6到5.7),需要更复杂的升级流程
  5. 考虑使用pt-upgrade工具测试升级兼容性

通过以上步骤,您可以安全地在CentOS 7环境下完成MySQL主从同步环境的小版本升级。