如何使用复制从失败的 Mysql 模式更新中恢复?

如何使用复制从失败的 Mysql 模式更新中恢复?

我有两台配置了主从复制的 MySQL 服务器。

在部署新的应用程序版本之前,我们:

1)停止从站

2) 对从属服务器进行 MySQL 转储。

但是,如果在部署新模式版本时出现错误(例如,错误地删除了某个表),那么保留从属服务器也无济于事。我们的服务是写入密集型的,因此,除非主服务器正常工作,否则我们无法将其恢复。

如果我们现在将 mysql 转储重新加载到主服务器中,则我们的服务将需要很长时间才能停止。

从这样的错误中恢复的最佳实践是什么?如何设置系统以便我可以轻松提升从属服务器,打开我们的服务,然后才处理损坏的数据库?主要是,我担心在从属服务器上完成更改后重新同步从属服务器和主服务器。

答案1

您使用的方法当然是最安全的,但也有一些方法可以使过程更加透明。

  • 执行接下来的几个步骤时,请保持同步关闭。
  • 将从属服务器变为主服务器(如果您具有主/主复制而不是主/从复制,则更容易)并将您的应用程序切换到它。
  • 从转储文件恢复旧主控。
  • 重新启用同步。
  • 确保旧主服务器与前从服务器同步。
  • 如果需要的话,请切换回应用程序。

相关内容