MySQL 主/从切换到新 Windows 服务器/停机
MySQL Master / Slave switch to new Windows Servers / Downtime
我有以下问题,我必须用两个新的 Windows 服务器替换当前的两个 Windows 服务器。主服务器 (MySQL 5.7) 在一台服务器上运行,从服务器 (MySQL 5.7) 在另一台服务器上运行。我们有一个被许多用户访问的高效系统。
在没有太多停机时间的情况下创建交换机的最佳方法是什么?
我有一些数据库,加起来大约有 90GB。
常规方式是什么?
- 主/从停止
- 来自 master 的 mysqldump (mysqldump –u -p --flush-logs --hex-blob --all-databases)
- 在新的主服务器上转储导入
- 在新的从属服务器上转储导入
我来的路对吗?或者 mysqldump 是否有更好的选择,以便我可以减少停机时间。
非常感谢!
鉴于 A 是您当前的主节点,B 是您当前的副本节点。你的新服务器是 C 和 D...
当前:A -> B
让B离线,复制到C,然后设置复制:B -> C
让 B 重新上线并让它赶上:A -> B -> C
重复;现在 A -> B -> C -> D
短暂的停机时间将客户端从写入 A 转移到写入 C 和
从 B 读到从 D 读。
退休 A 和 B。现在 C -> D
其他问题
为什么只有 Primary -> Replica 复制?稍微好一点的是 C <-> D,或“dual-Primary”。更好的是集群(Galera 或 InnoDB Cluster);这将提供更多的 HA 和 auto-failover,但需要 3 个节点。
通过集群,即使 任何 一台服务器崩溃,您也可以获得零停机时间。
我有以下问题,我必须用两个新的 Windows 服务器替换当前的两个 Windows 服务器。主服务器 (MySQL 5.7) 在一台服务器上运行,从服务器 (MySQL 5.7) 在另一台服务器上运行。我们有一个被许多用户访问的高效系统。 在没有太多停机时间的情况下创建交换机的最佳方法是什么? 我有一些数据库,加起来大约有 90GB。
常规方式是什么?
- 主/从停止
- 来自 master 的 mysqldump (mysqldump –u -p --flush-logs --hex-blob --all-databases)
- 在新的主服务器上转储导入
- 在新的从属服务器上转储导入
我来的路对吗?或者 mysqldump 是否有更好的选择,以便我可以减少停机时间。
非常感谢!
鉴于 A 是您当前的主节点,B 是您当前的副本节点。你的新服务器是 C 和 D...
当前:A -> B
让B离线,复制到C,然后设置复制:B -> C
让 B 重新上线并让它赶上:A -> B -> C
重复;现在 A -> B -> C -> D
短暂的停机时间将客户端从写入 A 转移到写入 C 和 从 B 读到从 D 读。
退休 A 和 B。现在 C -> D
其他问题
为什么只有 Primary -> Replica 复制?稍微好一点的是 C <-> D,或“dual-Primary”。更好的是集群(Galera 或 InnoDB Cluster);这将提供更多的 HA 和 auto-failover,但需要 3 个节点。
通过集群,即使 任何 一台服务器崩溃,您也可以获得零停机时间。