若要使用不允许使用超级用户权限的 Amazon RDS MySQL 源或来源成功创建和运行迁移作业,可能需要执行一些额外的步骤。
创建 Amazon RDS MySQL 迁移作业
MySQL 将来源主机名定义限制为 60 个字符。Amazon RDS 数据库主机名通常会超过 60 个字符。如果您要迁移的数据库存在这种情况,请配置 DNS 重定向以创建 CNAME 记录,将您的域名与 Amazon RDS 数据库实例的域名相关联。如需详细了解如何设置 DNS CNAME,请参阅 Cloud DNS 文档或 AWS Route53 文档。
二进制日志必须存储在标准块存储区中,不能存储在 Amazon S3 中。
若要创建包含手动转储的持续迁移作业,需要启用
GTID
。GTID_MODE
必须为 ON、OFF 或 OFF_PERMISSIVE。不支持 ON_PERMISSIVE 的GTID_MODE
值。
运行迁移作业
如需针对 MySQL Amazon RDS 和没有 SUPERUSER
权限的来源执行初始完整转储,应在源数据库中停止写入约 20 秒。
您可以通过从读取副本迁移或直接在来源数据库上停止写入来停止写入。
如需从读取副本迁移,请执行以下操作:
在 Amazon Web Services (AWS) 中创建读取副本。
使用 AWS 读取副本的连接信息配置 Database Migration Service 源连接配置文件。
迁移作业的状态更改为正在启动 | 等待源数据写入操作停止后,请停用 AWS 主副本与其读取副本之间的复制约 20 秒钟。
迁移作业的状态变为正在运行 | 正在进行完全转储后,请重新启用对 AWS 中读取副本的复制。
您可以直接在来源数据库上停止写入,而无需通过从 AWS 中的读写副本迁移来停止写入。您可以使用 脚本验证是否已停止对源数据库的所有写入。
迁移作业的状态和子状态会指明何时停止和恢复写入。您可以在 API、控制台或直接在 Cloud Monitoring 中跟踪状态变化:
状态更改为正在启动 | 等待源数据写入操作停止后,应停止对源数据库执行写入操作。Database Migration Service 会识别到写入已停止,并将状态更改为正在运行 | 准备转储。
状态变为正在运行 | 正在进行完全转储后,您可以放心地恢复向源数据库写入数据。
Database Migration Service 会持续尝试获取初始转储文件大约 20 分钟。如果写入尚未停止,或者在状态更新之前恢复了写入,则该进程会失败并返回一个错误,说明失败的原因。