本页面介绍了如何将数据库迁移到直接在 Cloud SQL 中创建的预先存在的 Cloud SQL 实例。
此路径适用于以下场景:目标实例由其他团队管理,或者您需要在 Database Migration Service 之外创建实例(例如,如果您使用 Terraform)。如果您的迁移有不同的要求,请考虑遵循不同的迁移流程。如需了解详情,请参阅 MySQL 迁移入门。
概括来讲,迁移过程遵循以下步骤:
- 配置源数据库,以允许 Database Migration Service 将数据移动到新数据库。
- 设置与源 MySQL 实例的网络连接。
- 创建连接配置文件和迁移作业。
- 启动和监控迁移作业。
- 提升迁移作业,并让应用改用新数据库。
费用
在本文档中,您将使用Google Cloud的以下收费组件:
- Cloud SQL(请参阅 Cloud SQL 价格。)
- 如果用于存储客户管理的加密密钥 (CMEK):Cloud Storage(请参阅 Cloud Storage 价格)。
如需根据您的预计使用量来估算费用,请使用价格计算器。
准备工作
- 验证此迁移路径是否可以完全支持您的场景。 请参阅以下页面:
- 对于一次性迁移:请考虑迁移时间表。 一次性迁移仅执行完整转储和加载操作,不执行后续变更数据捕获。我们建议您在迁移过程中停用对源数据库的写入操作,以免丢失数据。
- 考虑要在哪个区域创建目标数据库。 Database Migration Service 是一款完全区域性的产品,这意味着与迁移相关的所有实体(源和目标连接配置文件、迁移作业、目标数据库、转换工作区)都必须保存在单个区域中。
- 在 Google Cloud 控制台的项目选择器页面上,选择或创建 Google Cloud 项目。
- 启用 Database Migration Service API 和 Cloud SQL Admin API。
所需的角色
如需获得使用 Database Migration Service 执行同构 MySQL 迁移所需的权限,请让管理员向您授予项目的所需 IAM 角色:
-
Database Migration Admin (
roles/datamigration.admin) - 如果您需要在 Database Migration Service 之外创建目标实例,则还需要 Cloud SQL Admin (
roles/cloudsql.admin)
如需详细了解如何授予角色,请参阅 Identity and Access Management 文档中的 管理访问权限。
这些预定义角色包含使用 Database Migration Service 执行同构 MySQL 迁移所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需使用 Database Migration Service 执行同构 MySQL 迁移,您需要拥有以下权限:
datamigration.*cloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.updatecloudsql.instances.deletecloudsql.operations.getcloudsql.users.listcloudsql.users.getcloudsql.users.createcloudsql.users.updatecloudsql.users.delete
准备源数据库
如需准备要迁移的源数据,请按以下步骤操作:
- 考虑您是要提供自己的转储文件,还是要让 Database Migration Service 自动执行完整转储:
- 自动转储(默认):Database Migration Service 会连接到源数据库,并在迁移作业启动时自动执行初始架构和数据转储。在开始迁移之前,您无需准备任何内容。
- 手动转储:您可以生成自己的转储文件,并将其上传到 Cloud Storage 存储桶。如果您想减少主实例的初始负载并从副本中获取完整转储、在特定维护窗口期间运行转储或传递自定义导出标志,则此方法非常有用。请参阅使用
mysqldump导出 MySQL 数据库。
- 选择并配置源网络连接方法。
- 配置源数据库实例。
- 对于持续迁移,请参阅 配置源数据库以进行持续迁移。
- 对于一次性迁移,请参阅为一次性迁移配置源数据库。
- 创建来源连接配置文件。
创建和配置目标实例
在某些情况下,您可能希望直接在 Cloud SQL 中预先创建目标实例,以便利用所有可用的配置选项。
如果您想直接在 Cloud SQL 中创建目标实例,请仔细考虑目标机器的网络类型:
- 如果您想使用 Private Service Connect 接口连接,请将目标实例创建为已启用 PSC 的实例。请参阅创建启用了 PSC 的实例。
- 如果您想使用虚拟私有云对等互连连接,请将目标实例创建为 PSA 实例。请参阅创建数据库实例。
- 如果您想使用公共 IP 许可清单连接,请创建启用了公共 IP 的目标实例。请参阅创建数据库实例。
如果您已有 Cloud SQL 目标实例,则可以继续执行下一部分的操作。
创建并运行迁移作业
如需配置和运行迁移,请执行以下步骤:
- 可选:如果您想自行管理迁移作业的证书,请准备必要的加密密钥。
-
创建并运行迁移作业。
您可以使用 Database Migration Service 可观测性功能监控迁移进度以及目标实例的运行状况。请参阅 迁移作业指标。
完成迁移
当您决定将应用切换到新的 Cloud SQL for MySQL 实例时,请按照以下步骤完成迁移:
持续迁移
一次性迁移
当 Database Migration Service 完成完整转储阶段后,目标实例会自动提升为独立实例。如需完成迁移,请按照以下步骤操作:
- 可选: 验证迁移数据的完整性。
- 将应用切换为连接到新的 Cloud SQL for MySQL 实例。
后续步骤
详细了解 Google Cloud Cloud SQL for MySQL 的功能。请参阅 Cloud SQL for MySQL 功能。