迁移流程

对于向 Cloud SQL 的同构 MySQL 迁移,Database Migration Service 会连接到目标 Cloud SQL 实例,然后代表该实例管理迁移过程。目标实例会建立与源实例的连接,但 Database Migration Service 会监督此过程。

MySQL 迁移流程概览
图 1. Database Migration Service for MySQL 迁移期间的数据移动。(点击可放大)
MySQL 迁移流程概览

对于到 Cloud SQL 的同构 MySQL 迁移,Database Migration Service 支持持续和一次性迁移流程。在持续迁移中,系统会先从完整转储中加载数据,然后根据数据库日志文件中显示的数据更改信息持续更新数据。概括来讲,迁移阶段的进展如下:

一次性迁移

  1. 创建迁移作业时,Database Migration Service 会创建一个临时编排实例来管理复制,并将目标 Cloud SQL 转换为 Cloud SQL 副本。此编排实例不会产生额外费用。

    Cloud SQL 控制台中降级后的目标实例视图。
              此图片展示了目标实例如何由临时编排实例管理。
    图 2. 目标实例显示在 Google Cloud 控制台中的临时编排实例下。
    Cloud SQL 控制台中降级后的目标实例视图。
              此图片展示了目标实例如何由临时编排实例管理。
  2. 启动迁移作业后,Database Migration Service 会开始完整转储阶段。对于一次性迁移,这是唯一的迁移阶段。

    在完整转储期间,Database Migration Service 会连接到源实例,读取您选择迁移的数据库的内容,然后将数据加载到目标实例。

    对于一次性迁移,我们建议您在完整转储阶段停用对源数据库的写入操作。这样,您就可以避免丢失迁移过程开始后创建的数据。

    您也可以为 Database Migration Service 提供自己的转储文件。 请注意,在您创建转储文件后添加到数据库中的任何数据都不会迁移。 系统仍会建立与数据库的网络连接,以进行一致性检查。

  3. 完整转储阶段结束后,Database Migration Service 会自动提升目标数据库并完成迁移。 此时,您可以将应用切换为使用新的目标数据库。

持续迁移

  1. 创建迁移作业时,Database Migration Service 会创建一个临时编排实例来管理复制,并将目标 Cloud SQL 转换为 Cloud SQL 副本。此编排实例不会产生额外费用。

    Cloud SQL 控制台中降级后的目标实例视图。
              此图片展示了目标实例如何由临时编排实例管理。
    图 2. 目标实例显示在 Google Cloud 控制台中的临时编排实例下。
    Cloud SQL 控制台中降级后的目标实例视图。
              此图片展示了目标实例如何由临时编排实例管理。
  2. 启动迁移作业后,Database Migration Service 会开始完整转储阶段。

    在完整转储期间,Database Migration Service 会连接到源实例,读取您选择迁移的数据库的内容,然后将数据加载到目标实例。

    您也可以为 Database Migration Service 提供自己的转储文件。 请注意,在您创建转储文件后添加到数据库中的任何数据都不会迁移。 系统仍会建立与数据库的网络连接,以进行一致性检查。

  3. 对于持续迁移,当完整转储阶段结束时,Database Migration Service 会切换到 CDC 阶段。在 CDC 期间,Database Migration Service 会持续监控源数据库中的更改,然后持续在目标实例上复制这些更改。

    在 CDC 阶段,Database Migration Service 不会从源表复制实际数据,而是读取从数据库日志文件中提取的信息,以在目标中复制更改。 当您想要切换应用以将目标实例用作生产数据库时,可以停止正在进行的复制并升级迁移作业。

后续步骤