我将把大型 MySQL 5.0 数据库升级到 Percona 5.1,并且我试图在升级期间尽可能缩短实际停机时间,因此常规的 mysqldump + mysql 导入过程对我来说效果不佳,因为停机时间会长达几个小时。
目前我正在运行主->从复制设置(2 台服务器;1 台主服务器 - 1 台从服务器),但新服务器将由以下服务器管理:主-主-从(3 台服务器;2 台主服务器 - 1 台从服务器)嗯。
我正在考虑的一种方法是设置新服务器以从旧数据库进行复制,如下所示(o 前缀 = 旧服务器,n 前缀 = 新服务器):
oM1 -> oS1
oM1 -> nM1 -> nM2 -> nS1
当我进行交换时,我可以停止 nM1 上的从属设备并关闭 oM1 和 oS1。
我的问题是如何可靠地将主从设置提升为主主,以便 nM1 将主更改为 nM2?
答案1
3 个服务器之间进行 MySQL 主主复制虽然可行,但却非常麻烦,尝试过一次之后就再也不会使用了。
如果我是你,我会分步进行
oM1 -> nM1 -> nS2
然后一旦你让 nM1 按照你想要的方式工作
oM1(out) -> nM1 -> nM2 -> nS1
尽管这会花费更多的时间,但可以确保您完成所有正确的步骤,因为创建从属主服务器只是将另一个主服务器指向它的问题,这不是什么大问题,这也可以实现您想要的停机时间。