对于持续迁移,在需要将读取和写入操作转移到目标数据库时,您可以启动升级流程。提升意味着迁移后的 Cloud SQL 数据库现在可用于所有读取和写入操作。
您可以升级迁移作业,也可以从迁移作业中升级所选数据库。
- 启动宣传活动。为避免数据丢失,请务必停止所有写入操作、正在运行的脚本以及与源数据库的客户端连接。 停机时段从此处开始。
- 确保事务日志文件中的所有可用数据都复制到 Cloud SQL for SQL Server 目标实例。
Cloud SQL for SQL Server 来源
对于 Cloud SQL for SQL Server 源,Database Migration Service 会自动处理事务日志导出的监控。在源实例上停止写入操作后,您无需执行任何其他操作。 您可以继续提升迁移作业。
自行管理的来源或 Amazon RDS 来源
对于自管或 Amazon RDS 源,您可以通过执行以下任一操作来实现此结果:
- 停止 自动上传备份文件,或上传最后一个事务日志文件。监控 未处理的事务日志备份文件的大小,以确定 Database Migration Service 何时完成对该文件的处理。
- (可选)您可以上传名称以
.trn.final后缀结尾的交易日志文件。当 Database Migration Service 检测到名称与.trn.final后缀惯例匹配的备份文件时,会停止持续加载。当 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 实例,并且可以安全地删除迁移作业。