对于持续迁移,您可以在将读取和写入操作移至目标数据库后启动提升流程。 提升意味着迁移的 Cloud SQL 数据库现在可用于所有读取和写入操作。
您可以提升迁移作业,也可以从迁移作业中提升所选数据库。
- 停止对源数据库的所有写入操作、正在运行的脚本和客户端连接。 停机时间段从此处开始。
- 确保事务日志文件中的所有可用数据都 复制到 Cloud SQL 目标实例。
- 等待
复制延迟指标达到或接近零。这意味着
迁移作业已处理所有未完成的更改。
即使复制延迟不为 零,您也可以提升迁移。这可以减少数据库停机时间,但可能会影响目标中数据的准确性。
- 执行提升操作:
控制台
- 在 Google Cloud 控制台中,前往 迁移作业 页面。
- 在作业 标签页中,点击要提升的迁移作业 的显示名称。
- 执行以下提升操作之一:
如果要提升迁移中包含的所有数据库,请在迁移作业的工具栏中点击提升 。
系统会显示“提升迁移作业”对话框。
如果只想提升特定数据库,请使用数据库名称旁边的复选框选择这些数据库,然后在数据库 标签页中点击提升 。
系统会显示一个对话框,其中包含您要提升的数据库数量。
- 在对话框中,确保未显示任何错误,然后点击提升 。
系统会打开迁移作业详情页面。
gcloud
在使用下面的命令数据之前, 请先进行以下替换:
- 将 MIGRATION_JOB_ID 替换为
您的迁移作业标识符。
如果您不知道标识符,可以使用
gcloud database-migration migration-jobs list命令列出给定区域中的所有迁移作业并查看其标识符。 - 将 REGION 替换为保存连接配置文件的区域的标识符。
执行以下命令:
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命令和 MIGRATION_JOB_ID 可查看迁移 作业的状态。 - 使用
gcloud database-migration operations describe命令和 OPERATION_ID 可查看操作本身的状态。
- 您选择的目标实例或数据库已提升,
并且迁移的数据库现在可用于所有读取和写入操作。
迁移作业状态会更改为
Completed。 - 现在,应用可以连接到 Cloud SQL 实例,并且可以安全地删除迁移作业。
后续步骤
- 验证迁移数据的完整性。
- 可选:为提升的 Cloud SQL 实例设置级联读取副本。