AWS Aurora主站/ MySQL从站-切换主站/从站

时间:2019-10-25 11:27:25

标签: mysql amazon-web-services amazon-rds-aurora

我们目前有一个AWS Aurora Master复制到本地MySQL从站。

我们希望有一个过程将MySQL从服务器提升为主服务器,并将Aurora主服务器降级为从服务器。

如果我们使用的是MySQL主服务器和MySQL从服务器,则过程将是:

  1. 防止写入主机(带有读取锁定的FLUSH本地表)
  2. 确保从属设备与主设备保持最新状态
  3. 记下binlog文件/位置
  4. 停止从属服务器上的复制,然后告诉所有客户端(而不是旧的主服务器)连接到该服务
  5. 重新启动旧的主服务器(这样就可以不执行任何客户端连接,并且可以在执行读取锁定后不执行任何查询),并使用CHANGE MASTER从指定的binlog文件/位置进行复制。

但是,使用Aurora主服务器和MySQL从服务器:

  • 无法执行第1步:即使对于root用户,“带有读取锁的冲洗本地表”也被拒绝。
  • 第5步不可行:停止Aurora需要几分钟,我们必须(并且可以)在一分钟之内使用MySQL主服务器和MySQL从服务器执行升级。

我们考虑为每个单独的表使用“ LOCK TABLES”,但是该锁将传播到从属服务器(不理想!),并且一旦释放该锁,便会执行任何其他客户端查询。

我们现在正在考虑阻止与Aurora的所有新连接,并终止任何活动的连接/运行中的查询(并让我们的应用程序处理这些失败),并且实际上不执行任何读取锁定。

所以我们的问题是:

  1. 是否有办法在AWS Aurora(MySQL)中运行“带读取锁定的本地表”?
  2. 有什么方法可以在MySQL DB上运行“ LOCK TABLES”,但是可以阻止将锁写入二进制日志/复制到从属服务器?
  3. 阻止所有与Aurora的新连接(使用SG更新)并杀死所有活动的Aurora连接(除了rdsadmin进行的那些我们认为不应杀死的连接)会带来什么风险?
  4. 我们应该采用哪种/更好的促销方式?

0 个答案:

没有答案