更新时间:2025-07-16 GMT+08:00
分享

MySQL集群恢复到集群环境

注意事项

  • MySQL主备集群任务恢复,恢复目标机只能选择单机,恢复完是一个单机环境。
  • 若恢复目标机是集群,恢复完,想保证原来的主从集群关系,操作步骤:断开集群主从关系 > 恢复到其中一个单机 >恢复完后,重建集群主从关系。可参考此章节的操作方式进行操作,用户也可以使用其他方法断开和恢复主从集群关系。
  • 此章节操作适用:逻辑备份集群恢复到集群、物理备份集群恢复到集群。
  • 此章节只适用于MySQL主机版环境。

断开集群主从关系

  1. 登录数据库,查看所要恢复目标实例主从关系情况。

    确认需要恢复实例有怎样的主从关系,查看目标实例的所有主实例,可参考如下命令:

    >show slave status\G;

    图1 查看目标实例的所有主实例

    查看目标实例的所有从实例:

    > show slave hosts\G;

    图2 查看目标实例的所有从实例

  1. 断开恢复目标实例的主从关系,可参考操作命令如下(用户也可以使用其他方式断开主从关系):

    >stop slave

    图3 断开目标节点上实例集群服务

    查看当前实例主从关系情况,确认主动关系已断开,操作命令与执行结果如下:

    >show slave status\G;

    图4 查看当前主从关系情况

执行恢复

执行恢复任务,选择集群任务数据,恢复目标机可以选恢复目标集群中的任意一个节点(第2步中断开主从关系节点中的任意一个节点),执行恢复,恢复成功。恢复步骤同新建物理备份恢复任务新建逻辑备份恢复任务

图5 恢复数据到单机成功

重建集群主从关系

恢复到单机成功后,重建恢复目标机集群关系,可参考如下步骤恢复集群关系,用户也可以采用自己的方法恢复主从集群关系。

根据第1步查看得知的要恢复的目标实例的主从关系,依次按照以下命令修复:

  1. 在从实例执行,确保主从关系断开。

    Slave: >stop slave;

  2. 在主实例执行,刷新日志。2

    Master: >flush logs

  3. 在主实例执行,查看日志名和pos号。

    Master: >show master status;

  4. 查看日志名和pos号。

  5. 在从实例执行,重新同步,使日志文件和位置对应主实例。

    Slave: >CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000069’, MASTER_LOG_POS=154;

  6. 在从实例执行,重新启动从实例。

    Slave: >start slave;

  7. 在从实例执行,查看主从同步情况。

    Slave: show slave status\G;

  8. 以上步骤结束,一个完整的主从关系修复,目标实例有几个主从关系,就需要执行几次,指导目标实例的所有主从关系修复完成。

    • 1需要检查目标实例的所有主从关系,并记录下来。
    • 2执行完后,目标实例的所有主从关系断开。
    • 3执行完后,为一次主从关系的设置,如果目标实例包含多个主从关系,需要按照主从实例逻辑多次执行第4步命令。

相关文档