如何在 Amazon Aurora 中的标准配置和无服务器配置之间切换
Posted
技术标签:
【中文标题】如何在 Amazon Aurora 中的标准配置和无服务器配置之间切换【英文标题】:How do you switch between standard and serverless configurations in Amazon Aurora 【发布时间】:2019-01-05 04:18:01 【问题描述】:我正在查看这个亚马逊页面 - https://aws.amazon.com/rds/aurora/serverless/,它有这样的报价:
您按秒为您使用的数据库容量付费 数据库处于活动状态,在标准和无服务器之间迁移 在 AWS 管理控制台中单击几下即可进行配置。
我有几个普通的 Aurora 集群,想将它们切换到无服务器。我看了又看,在亚马逊用户界面中找不到“单击几下即可迁移”位。我创建了一个新的无服务器集群,所以我可以在短暂中断的情况下进行停止、备份和恢复 - 但如果我可以在不中断的情况下做到这一点 - 那将要好得多。
那么这些“几次点击”在哪里 - 或者您可能会告诉我“几次点击”意味着停止、备份和恢复。无论哪种方式,我认为很多人都可以从了解“几次点击”的原因中受益。
【问题讨论】:
【参考方案1】:很久以后它的价值:
显然,Amazon Aurora Serverless 仅与 mysql 5.6 兼容 - 这解释了为什么 5.7 快照无法恢复。
所以这两个选项是
首先将 MySQL 版本降级到 5.6 或 转储和导入数据(在我阅读其他答案后,我会选择第二个选项)。进一步阅读: https://aws.amazon.com/rds/aurora/serverless/?nc1=h_ls#How_to_Get_Started
【讨论】:
【参考方案2】:作为对@drchuck 方法的评论 - 我们已经了解到这一点,AWS Database Migration Service 在创建目标数据库中的架构方面做得不好。但是 - 有一个简单的解决方法:
1) 运行mysqldump --no-data
以从源数据库中获取准确的架构。
2) 在目标数据库上执行转储模式。
3) 在您的 DMS 任务中,在目标表准备模式下,选择“Truncate”而不是“Drop tables on target”。 (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html)
有了这个,DMS 就不会在目标端创建架构,并且一切正常(加载所有现有数据,然后近乎实时地同步正在进行的更改)。
我们已经多次使用这种方法来缩短停机时间。
【讨论】:
【参考方案3】:花了很长时间才弄清楚这几次点击。
我最初在这里是因为我也找不到它们,是的,我在 AWS 页面上看到了确切的报价,你说是的,你可以。
首先拍摄快照,然后恢复它。在恢复它的过程中,您可以选择一个无服务器实例。 (至少在某些条件下。我不认为 5.7.12(实际上刚刚确认)可以恢复到无服务器配置)。
我怀疑 5.7.12 会在适当的时候发生。
现在的灵丹妙药是从 5.6.10a 版本开始,拍摄快照,然后将其恢复到无服务实例。
【讨论】:
我已经确认这适用于生产数据库。我从快照开始,恢复到无服务器模式,它工作得很好。整个数据库以及索引都毫发无损。【参考方案4】:当我几天没有得到答案时,我用两种方法进行了转换,结果不同,所以我想我会在这里分享我的结果。我仍然希望听到更好的方法。 (1) 当我使用 mysqldump 和 restore 进行转换时,短暂的中断一切都很好。 (2) 当我使用 AWS Database Migration Service 时,它变得非常糟糕。
首先,您必须将二进制日志格式设为“ROW”并保留 24 小时。该必要的服务器在我的旧集群上重新启动。然后当数据迁移工作时,我丢失了所有的自动增量,然后是我的列中的 NULLness,新表中的 UNIQUE 子句和外键。从字面上看,唯一正确迁移的是实际数据和 PRIMARY KEY 指示。另外,我建议一次迁移一个数据库(即模式),不要尝试迁移 mysql 内部模式。我说“迁移一切”,迁移工具试图迁移 MySQL 的东西 - 哎呀。
AWS Database Migration Service 所做的一件非常酷的事情是迁移和监控(通过行上的二进制日志记录成为可能)。你可以看到它移动行。
【讨论】:
以上是关于如何在 Amazon Aurora 中的标准配置和无服务器配置之间切换的主要内容,如果未能解决你的问题,请参考以下文章
是否可以从 Amazon Aurora 迁移回 Amazon RDS 中的原生 MySQL?
如何使用 cloudformation 模板创建 Amazon RDS aurora Master 和只读副本集群
Amazon Aurora RDS 无法使用导入文件。 Mysql Workbench 中的用户访问被拒绝
使用 Amazon Aurora Serverless构建无服务器应用程序仅仅只需要10分钟