Chris Muench Asked: 2022-12-21 17:56:32 +0800 CST2022-12-21 17:56:32 +0800 CST 2022-12-21 17:56:32 +0800 CST 将2个mysql rds合并为一个 772 是否可以在不停机的情况下将 2 个 MySQL rds 合并为一个?他们都没有任何重叠的数据库 我正在考虑通过 mysql 转储将数据库从一个数据库加载到另一个数据库,然后从其他 rds 复制以赶上进度,然后进行故障转移 这可能吗? mysql 1 个回答 Voted Best Answer Rick James 2022-12-21T21:52:05+08:002022-12-21T21:52:05+08:00 像这样的事情可能会让您的停机时间非常接近于零。 我假设您有两个没有任何复制的实例(A 和 B)。并且您想将数据从 B 移动到 A。我将使用符号 B-->A。 开启log_binB。 捕获 B 的 mysqldump,并确保它包含 binlog 位置(或 GTID)。不要转储任何可能与 A 冲突的系统表或其他表。 将转储加载到 A 中。 启用复制并确保它从保存的位置开始。 检查 A 看起来是否正常。 加载完成后,将客户端从 B 重定向到 A。(这是唯一的停机时间,而且非常短暂。)(这是 B 客户端的“故障转移”。) 相反,如果您想使用 D 和 E 的副本创建 C: 确保 MySQL 版本处理“多源复制”。 创建一个空实例 C. 如上D-->C;不包括 D 客户端的故障转移。 如上E-->C;不包括 E 客户端的故障转移。 在两组数据都移动到位后,再次检查 C 看起来是否良好。并检查复制是否使数据保持最新。 故障转移所有客户端(从 D 和 E 到 C)。 我建议基于常规 MySQL 或 MariaDB 以上内容。我不知道 RDS 版本中是否有任何陷阱。
像这样的事情可能会让您的停机时间非常接近于零。
我假设您有两个没有任何复制的实例(A 和 B)。并且您想将数据从 B 移动到 A。我将使用符号 B-->A。
log_bin
B。相反,如果您想使用 D 和 E 的副本创建 C:
我建议基于常规 MySQL 或 MariaDB 以上内容。我不知道 RDS 版本中是否有任何陷阱。