对于持续迁移,在需要将读取和写入操作转移到目标数据库时,您可以启动升级流程。升级是指 Database Migration Service 与源数据库断开连接,停止将更改数据事件复制到目标数据库,并清理所有临时迁移数据。
- 可选: 验证迁移数据的完整性。
- 停止对源数据库的所有写入操作、正在运行的脚本和客户端连接。 停机时段从此处开始。
- 观察 复制延迟时间指标,等待该指标明显下降,最好降至分钟或秒级。
- 对迁移作业执行提升操作。
控制台
- 在 Google Cloud 控制台中,前往迁移作业页面。
- 在作业标签页中,点击要提升的迁移作业的显示名称。
系统会打开迁移作业详情页面。
- 点击升级。
- 在对话框中,点击提升。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list
命令列出指定区域中的所有迁移作业,并查看其标识符。 - 将 REGION 替换为保存连接配置文件的区域的标识符。
可选:Database Migration Service 默认会迁移源中的所有数据库。如果您只想迁移特定数据库,请使用
--databases-filter
标志,并以英文逗号分隔的列表形式指定这些数据库的标识符。例如:
--databases-filter=my-business-database,my-other-database
您可以使用
gcloud database-migration migration-jobs update
命令,稍后修改使用--database-filter flag
创建的迁移作业。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud database-migration migration-jobs \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote MIGRATION_JOB_ID ^ --region=REGION
结果
该操作以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 Operation 实体:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
- 使用
gcloud database-migration migration-jobs describe
命令可查看迁移作业的状态。 - 将
gcloud database-migration operations describe
与 OPERATION_ID 搭配使用,即可查看操作本身的状态。
- 目标实例已升级,您迁移的数据库现在可用于所有读写操作。
迁移作业状态会更改为
Completed
。 - 现在,应用可以连接到 Cloud SQL 实例,并且可以安全地删除迁移作业。