数据库迁移功能通过产品化解决方案的封装,实现数据库迁移、校验和清理的闭环操作。本文介绍如何通过创建工单实现数据库迁移。
前提条件
支持的数据库类型:RDS MySQL、PolarDB MySQL版和ECS自建MySQL。
说明来源库和目标库的数据库类型需要相同。
来源库和目标库的管控模式为安全协同。更多信息,请参见查看管控模式。
来源库已停止写入数据。
背景信息
随着业务的发展,数据库会出现升降配、数据库整体迁移的需求,为支持此类业务场景,DMS推出数据库迁移功能,支持对多种数据库的结构、数据进行同构迁移,同时支持库名称修改、迁移前预校验、迁移后数据一致性校验及来源数据库的清理,保证数据库迁移整个生命周期的完整性,可以为SaaS厂商提供便捷的多租户管理能力。
优势
目前数据迁移工具较多,但均以运维侧使用为主,无权限管控流程。DMS数据库迁移方案优势:
集成DMS的安全管控能力,包括权限管理和流程管控。
集成DTS的数据迁移功能,可提供高性能并发服务。更多信息,请参见高性能。
通过产品化解决方案的封装,实现从迁移、校验到清理的闭环逻辑。后续还可结合租户路由配置的更新、服务联动,打通应用侧的整体SaaS迁移链路。
功能限制
支持迁移数据库中所有的表,不支持迁移部分表。
支持全量数据迁移,暂不支持增量数据迁移。
目前迁移对象仅支持Table对象。
费用说明
现阶段您可以免费使用数据库迁移功能。
操作步骤
- 登录数据管理DMS 5.0。
在顶部菜单栏中,选择 。
说明若您使用的是极简模式的控制台,请单击控制台左上角的图标,选择
。在新建数据库迁移工单页面,配置数据库迁移任务工单。
配置项
描述
任务名称
输入明确、清晰的任务名称,以减少沟通成本。
业务背景
简单介绍该任务的业务背景。
相关人员
选择工单协作人员。
来源实例
选择要迁移的数据库所在的实例。
目标实例
选择来源数据库要迁移到的目标实例。
说明来源实例和目标实例的数据库类型需要相同。
来源数据库
选择要迁移的数据库。
说明如果选择多个来源数据库,多个来源数据库的Owner需要相同。
拥有来源数据库的导出与变更权限。申请权限,请参见管理访问控制权限。
目标数据库
目标数据库的名称默认与来源数据库相同。您可以单击目标数据库右侧的编辑,编辑目标数据库名称。
迁移对象
选中要迁移的对象,可以多选。
库表结构迁移:迁移来源数据库中的表结构。
全量数据迁移:迁移来源数据库中的表数据。
一致性校验
迁移完成后,对迁移前后的数据进行对比,以确定迁移后的数据与源数据相同。
不校验:不校验迁移后的数据是否与源数据相同。
迁移完成,自动校验:迁移完成后,自动开始校验迁移后的数据是否与源数据相同。
选中迁移完成,自动校验后,在参数配置对话框中,设置单表最大差异上限、无主键表单标数据校验上限,单击确认。
手工按需触发:迁移完成后,您可以选择跳过检验或立即校验一致性。
清理与释放
迁移完成后,清理来源实例中已迁移的数据库。
不清理:不清理来源实例中已迁移的数据库。
手工按需触发:完成一致性校验后,您可以选择延时清理或立即清理源数据。
迁移完成,自动清理(暂不支持):源数据清理属于高危操作,暂不支持自动触发。
单击提交申请,系统自动进行预检查。
您可以在预检查区域查看预检查结果。如果预检查不通过,您可以根据提示信息进行操作。
来源库权限检查:工单提交者必须拥有来源数据库的导出与变更权限,否则提示您申请权限。
目标库权限检查:
如果目标数据库存在,工单提交者必须拥有目标数据库的变更权限,否则提示您申请权限。
如果目标数据库不存在,工单提交者的用户角色需要为管理员、DBA或实例Owner,否则返回错误信息。
RAM权限检查:判断主账号是否拥有AliyunDMSDefaultRole角色,用于后续迁移使用。没有该角色则提示您申请角色。
目标实例剩余空间检查:
如果目标实例为RDS MySQL、PolarDB MySQL版,则检查目标实例剩余容量是否能够满足迁移数据库所需容量。
如果目标实例为ECS自建数据库,预检查返回结果为错误,提示您自行检查目标实例剩余空间。
同名对象的检查:
如果进行结构迁移,目标实例中不能存在库级别的同名对象。
如果只进行全量数据迁移,来源数据库和目标数据库中必须存在同名对象且同名对象的DDL语句相同,DDL语句不同则提示错误,如果同名对象表中存在历史数据,则提示Warn。
白名单检查:
如果目标实例为RDS MySQL、PolarDB MySQL版,检查来源实例、目标实例的白名单中是否包含DTS所需的白名单,如果不完全包含,则返回来源实例、目标实例中缺少的白名单,提示用户进行配置。
如果目标实例为ECS自建数据库,则返回所有DTS需要的白名单。
预检查通过后,单击提交审批。
待审批通过后,单击立即开始或定时执行。
立即开始:立即执行迁移任务。
定时执行:在定时设置对话框中,选择开始执行迁移任务的日期和时间。
任务执行期间,您可以在工单详情页的执行区域,数据库迁移配置向导中查看数据库迁移进度和日志。
可选:数据库迁移完成后,单击下一步一致性校验,进行数据一致性校验。
跳过校验:跳过数据一致性校验。
定时执行:在定时设置对话框中,设置单表最大差异上限、无主键表单标数据校验上限,选择一致性校验开始的时间,单击确认。
说明如果存在不一致数据,可单击查看详情查看不一致的概览信息,在概览信息对话框中单击详情查看不一致的具体数据:
如果数据量比较少,可以通过手动修改的方式同步数据,
如果数据量比较大,查明数据不一致的原因,清理目标数据库后重新进行数据库迁移。
可选:一致性校验完成后,单击下一步数据清理,进行源数据清理。
完成:数据库迁移工单完成。
立即清理:立即执行会实时删除已迁移的表,请谨慎操作。
延时清理:在延时清理对话框中,指定延时清理时间间隔,可输入时间间隔为1~30天。在延时时间区间内,如果需要恢复,可通过一键回滚功能恢复来源数据库中的数据。