AWS DMS -数据库迁移(MYSQL)
前情提要
DMS能帮助我们做什么
· 可以将数据迁入或迁出 Amazon EC2 上建立的数据库或 Amazon RD
· 支持同构或异构数据库的迁移
· 支持 7*24 小时 online 的数据库迁移
· 可以进行跨 region、跨账号的数据库数据迁移
环境准备
创建数据库用户
注意:
⚫ 在所有操作之前,先将数据库备份
1. 在源数据库上创建专用于 DMS 任务的用户 dmsadmin 并授权。当然您可以用现有用户执 行 DMS 任务,但是使用专用用户可以让您轻松地将 DMS 任务产生的数据变更和正常业务 产生的数据变更区分开来,而且也更容易对用户进行管理。 (我自己测试时是用默认的admin用户进行迁移的)
2. 在目标数据库上生成专用于 AWS DMS 任务的用户 dmsadmin 并授权。
3. 源数据库和目标数据库的大版本最好是一致的,如果数据库那里选%,会同步所有库,会报错的,因为默认库不能同步。
4. 如果是在测试迁移的话,可以将复制实例、源数据库、目标数据库的安全组全放开,不要因为连接问题导致相关错误,可以用ping.pe网址检查端口正常连接与否。
创建复制实例和终端节点
1. 首先创建一个子网
如图,选择子网时,请最少覆盖两个可用区
2. 创建一个复制实例
最下方的多可用区也建议勾选,这样能确保迁移过程不会因为其他原因被中断。
3. 创建源和目标数据库的终端节点
分别填入源数据库和目标数据库的连接信息,建议是手动提供访问信息,因为aws secrets manager的方式只能aws之间迁移。
选择迁移数据中的端口,点击已经创建好的端点
进入后选择连接
点击测试连接
点击运行测试,状态是successful即可,这个状态就是复制实例可以连接到端点数据库。
创建 DMS 任务
此处需要提醒的是迁移类型,一共有三种类型: 第一种是迁移现有的数据,此类型适合比较静态的数据库,数据不经常变化的数据库。 第二种是实时迁移,数据库的变化部分也能给迁移到新的目标数据库中。 第三种是只把更改过的数据复制到目标数据库中。
⚫ 不执行任何操作 - 如果表已在目标中存在,则它们将保持不变,通常我们第一次迁移时都选择此项。
⚫ 删除目标中的表 - 删除表并在其位置创建新表。
⚫ 截断 - 保留表及其元数据,但会删除表中的数据。
此处,需要透过 DMS 验证数据的话,可以勾选启用验证。同时,务必要把最下方的启用日 志记录勾选上
此处根据业务需求,选择相应的架构来决定迁移哪些数据,表映射必须选择,因为表映射就是来选择要迁移的数据。
创建完成后,状态列显示为正在创建
当数据迁移完时,最好稍等一下,然后再去检查数据是否完整。
总结
数据库迁移是一个非常复杂的流程,迁移之前必须做足准备,比如先测试迁移一个小型的数据库,然后排查问题。最后再进行生产数据库的迁移。在此过程中,如果您有任何问题,可以随时联系我们。