数据库迁移功能通过产品化解决方案的封装,实现数据库迁移、校验和清理的闭环操作。本文介绍如何通过创建工单实现数据库迁移。
前提条件
- 支持的数据库类型: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天。在延时时间区间内,如果需要恢复,可通过一键回滚功能恢复来源数据库中的数据。