迁移到新的 Cloud SQL 目标实例

本页面介绍了如何将数据库迁移到新的 Cloud SQL 实例,该实例由 Database Migration Service 在您配置迁移作业时代表您创建。 如果您的迁移有不同的要求,请考虑遵循不同的迁移流程。如需了解详情,请参阅 指南:迁移到现有 Cloud SQL 实例。

从总体上讲,迁移遵循以下步骤:

  1. 配置源数据库,以允许 Database Migration Service 将数据移至新数据库。
  2. 创建连接配置文件和迁移作业。
  3. 根据您的连接配置,您可能需要调整防火墙设置。
  4. 启动和监控迁移作业。
  5. 提升迁移作业,并将应用移至使用新数据库。

费用

在本文档中,您将使用的以下收费组件: Google Cloud:

如需根据您的预计使用量来估算费用,请使用 价格计算器。

准备工作

  1. 验证此迁移路径是否可以完全支持您的场景。 请参阅以下页面:
  2. 对于一次性迁移:请考虑迁移时间表。 一次性迁移仅执行完整转储和加载操作,而不会进行后续的变更数据捕获。我们建议您在迁移过程中停用对 源数据库的写入操作,以避免数据丢失。
  3. 考虑要在哪个区域创建目标数据库。 Database Migration Service 是一款完全区域性的产品,这意味着与迁移相关的所有实体 (来源和目标连接配置文件、 迁移作业、目标数据库、转换工作区)都必须保存在单个 区域中。
  4. 在 Google Cloud 控制台的项目选择器页面上,选择或 创建 Google Cloud 项目。

    转到“项目选择器”

  5. 启用 Database Migration Service 和 Cloud SQL Admin API。

    启用 API

所需角色

如需获得使用 Database Migration Service 执行同构 MySQL 迁移所需的权限,请让管理员向您授予项目的所需 IAM 角色:

如需详细了解如何授予角色,请参阅 Identity and Access Management 文档中的管理访问权限。

这些预定义角色包含使用 Database Migration Service 执行同构 MySQL 迁移所需的权限。如需查看所需的确切权限,请展开所需权限 部分:

所需权限

如需使用 Database Migration Service 执行同构 MySQL 迁移,您需要拥有以下权限:

  • datamigration.*
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.instances.update
  • cloudsql.instances.delete
  • cloudsql.operations.get
  • cloudsql.users.list
  • cloudsql.users.get
  • cloudsql.users.create
  • cloudsql.users.update
  • cloudsql.users.delete

您也可以使用 自定义角色或其他 预定义角色来获取这些权限。

准备源数据库

如需准备源数据以进行迁移,请按以下步骤操作:

  1. 考虑您是想提供自己的转储文件,还是让 Database Migration Service 自动执行完整转储:
    • 自动转储(默认):Database Migration Service 会连接到您的源 数据库,并在迁移作业开始时自动执行初始架构和数据转储。您无需在开始迁移之前做任何准备工作。
    • 手动转储:您可以生成自己的转储文件,并将其上传到 Cloud Storage 存储桶。如果您想减少主实例上的初始负载并从副本中获取完整转储,在特定的维护窗口期间运行转储,或传递自定义导出标志,此方法会非常有用。请参阅 使用 mysqldump 导出 MySQL 数据库。
  2. 选择并配置源网络连接方法。
  3. 对于公共 IP 许可名单连接:稍后,在 Database Migration Service 创建目标实例后,您可能需要将 Cloud SQL 公共 IP 地址添加到防火墙许可名单。请咨询您的网络管理员,了解如何 以最佳方式安排此类配置更改。
  4. 配置源数据库实例。
  5. 创建来源连接配置文件。

创建并运行迁移作业

如需配置和运行迁移,请执行以下步骤:

  1. 可选:如果您想为 迁移作业管理自己的证书, 请准备必要的加密密钥。
  2. 创建并运行迁移作业。

    您可以使用 Database Migration Service 可观测性 功能监控迁移进度以及目标实例的 运行状况。请参阅 迁移作业指标。

完成迁移

当您决定将应用切换到新的 Cloud SQL for MySQL 实例时,请按照以下步骤完成迁移:

持续迁移

  1. 停止对源数据库的所有写入操作。您可以将它们 切换为只读模式,以保留操作功能。
  2. 提升迁移作业。
  3. 可选: 验证迁移数据的完整性。

一次性迁移

当 Database Migration Service 完成完整转储阶段后,目标 实例会自动提升为独立实例。如需完成迁移,请按照以下步骤操作:

  1. 可选: 验证迁移数据的完整性。
  2. 将应用切换为连接到新的 Cloud SQL for MySQL 实例。

后续步骤

详细了解 Cloud SQL 的 Google Cloud 功能。请参阅 Cloud SQL for MySQL 功能。