迁移流程

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

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

对于同构 MySQL 到 Cloud SQL 的迁移, 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 不会从源表 复制实际数据,而是读取从数据库日志文件中提取的信息,以复制目标中的更改。 当您想要 切换应用以使其将目标实例 用作生产数据库时,可以停止正在进行的复制并提升迁移作业。

后续步骤