从零开始完成无锁结构变更

更新时间:
复制 MD 格式

数据管理DMS的无锁结构变更功能可以较好地规避因锁表而导致的业务阻塞,以及数据库原生OnlineDDL带来的主备延迟问题。本文以云数据库RDS MySQL举例,引导您快速使用DMS完成无锁结构变更。

新增实例并开启无锁结构变更

  1. 登录数据管理DMS 5.0

  2. 单击页面左侧导航栏的xinzeng

    说明

    若您使用的是极简模式控制台,请先单击页面左侧的数据库实例,再单击xinzeng

  3. 新增实例对话框中,配置如下信息:

    1. 选择阿里云页签下的MySQL

    2. 配置基本信息高级信息。详细信息,请参见云数据库录入

  4. 信息配置完成后,在基本信息页面中,单击页面左下角的测试连接,等待测试通过。

    说明

    如果测试连接失败,请按照报错提示检查并修改您的配置信息。

  5. 连接成功后,单击提交

无锁结构变更

  1. 登录数据管理DMS 5.0

  2. 在顶部菜单栏中,选择数据库开发 > 数据变更 > 无锁变更

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据库开发 > 数据变更 > 无锁变更

  3. 配置无锁变更工单。如下表格仅对部分重要参数进行说明,其他参数的信息,请参见DML无锁变更

    参数名

    说明

    数据库

    搜索并选择目标数据库,支持选择多个目标数据库。

    • 有权限:只能搜索并选择有变更权限的数据库。

    • 全部:可以搜索并选择所有的数据库(除开启元数据访问控制的数据库)。

      说明

      如果您没有目标数据库的变更权限,请在顶部菜单栏中选择安全与规范 > 权限中心 > 权限工单,单击权限申请 > 库权限,在权限申请工单页面申请您需要的权限。

    变更SQL

    输入DDL(Data Definition Language),例如ALTER TABLEOPTIMIZE

    说明

    如果您输入的是DML(Data Manipulation Language),则您进行的是无锁数据变更任务。更多信息,请参见DML无锁变更

  4. 单击提交申请

    系统将自动进行SQL预检查。如果预检查失败,您可以根据失败原因,单击修改SQL,修改SQL后重试。

  5. 等待审批通过后,在工单详情页的执行区域,单击执行变更

  6. 配置任务执行参数。

    配置项

    说明

    执行策略

    • 立即执行:系统默认,单击确认执行后立即执行工单任务。

    • 定时执行:选择任务开始执行时间。单击确认执行后,在指定的时间执行该任务。

    指定结束时间

    • 开启:选择任务结束时间。如果任务在指定结束时间之前没有执行完毕,则系统将不再继续执行未完成的SQL任务,防止高峰期执行任务,影响业务运作。

    • 关闭:系统默认。

  7. 单击确定执行

    说明

    已暂停的任务,重启后,会重新开始执行任务。

    • 您可以在执行区域,查看任务执行状态任务的执行配置调度日志等信息。

    • 您还可以在运维管理 > 任务管理,查看无锁结构变更任务进度。具体操作,请参见查看无锁变更进度

相关操作

  • DMS的任务管理中查看变更任务的进展。具体操作,请参见任务管理

  • 在已开启无锁结构变更的情况下,普通数据变更也可实现不锁表变更。具体操作,请参见普通数据变更