对于向 Cloud SQL 的同构 MySQL 迁移,Database Migration Service 会连接到目标 Cloud SQL 实例,然后代表该实例管理迁移过程。目标实例会建立与源实例的连接,但 Database Migration Service 会监督此过程。
对于到 Cloud SQL 的同构 MySQL 迁移,Database Migration Service 支持持续和一次性迁移流程。在持续迁移中,系统会先从完整转储中加载数据,然后根据数据库日志文件中显示的数据更改信息持续更新数据。概括来讲,迁移阶段的进展如下:
一次性迁移
-
创建迁移作业时,Database Migration Service 会创建一个临时编排实例来管理复制,并将目标 Cloud SQL 转换为 Cloud SQL 副本。此编排实例不会产生额外费用。
图 2. 目标实例显示在 Google Cloud 控制台中的临时编排实例下。
启动迁移作业后,Database Migration Service 会开始完整转储阶段。对于一次性迁移,这是唯一的迁移阶段。
在完整转储期间,Database Migration Service 会连接到源实例,读取您选择迁移的数据库的内容,然后将数据加载到目标实例。
对于一次性迁移,我们建议您在完整转储阶段停用对源数据库的写入操作。这样,您就可以避免丢失迁移过程开始后创建的数据。
您也可以为 Database Migration Service 提供自己的转储文件。 请注意,在您创建转储文件后添加到数据库中的任何数据都不会迁移。 系统仍会建立与数据库的网络连接,以进行一致性检查。
- 完整转储阶段结束后,Database Migration Service 会自动提升目标数据库并完成迁移。 此时,您可以将应用切换为使用新的目标数据库。
持续迁移
-
创建迁移作业时,Database Migration Service 会创建一个临时编排实例来管理复制,并将目标 Cloud SQL 转换为 Cloud SQL 副本。此编排实例不会产生额外费用。
图 2. 目标实例显示在 Google Cloud 控制台中的临时编排实例下。
启动迁移作业后,Database Migration Service 会开始完整转储阶段。
在完整转储期间,Database Migration Service 会连接到源实例,读取您选择迁移的数据库的内容,然后将数据加载到目标实例。
您也可以为 Database Migration Service 提供自己的转储文件。 请注意,在您创建转储文件后添加到数据库中的任何数据都不会迁移。 系统仍会建立与数据库的网络连接,以进行一致性检查。
-
对于持续迁移,当完整转储阶段结束时,Database Migration Service 会切换到 CDC 阶段。在 CDC 期间,Database Migration Service 会持续监控源数据库中的更改,然后持续在目标实例上复制这些更改。
在 CDC 阶段,Database Migration Service 不会从源表复制实际数据,而是读取从数据库日志文件中提取的信息,以在目标中复制更改。 当您想要切换应用以将目标实例用作生产数据库时,可以停止正在进行的复制并升级迁移作业。
后续步骤
如需详细了解 Database Migration Service 中的 MySQL 数据和功能支持,请参阅已知限制。
如需获取完整的逐步迁移演示,请参阅 Cloud SQL for MySQL 迁移入门。