全部产品
Search
文档中心

数据管理 DMS:从零开始完成无锁结构变更

更新时间:Jun 16, 2026

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

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

  1. 登录数据管理DMS 5.0

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

    说明

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

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

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

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

      类别

      配置项

      说明

      数据来源

      -

      默认选择阿里云-MySQL。您可以重新选择数据库类型。

      基本信息

      数据库类型

      选择数据库实例的类型。

      说明

      在选择数据库类型后,DMS会自动刷新基本信息页面的配置项。

      实例地区

      选择数据库实例所在的地域。

      其他主账号

      若您选择跨阿里云账号实例,则会出现该配置项。选择数据库实例所属的主账号。

      说明

      如果主账号不在选择列表中,您可以单击添加用户,添加数据库实例购买者的主账号。具体操作,请参见添加用户

      录入方式

      选择数据库实例的录入方式。支持实例ID连接串地址两种录入方式。

      实例ID连接串地址

      输入实例ID连接串地址

      说明

      连接串地址的组成形式为内网地址+内网端口。以RDS MySQL举例,rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。

      访问方式

      选择是否给实例开启安全托管以及登录数据库的方式。开启安全托管后,可以避免用户直接接触账密、实现细粒度的权限管控。

      • 安全托管-自动(推荐):DMS会自动为实例开启安全托管,并且自动为您创建数据库账号及密码用于登录DMS。

        说明
        • 目前仅录入RDS实例时,会出现该参数。

        • DMS自动创建的账号可以在RDS控制台查看,但请勿随意修改和删除,以免影响DMS功能的使用。

        • 除RDS PostgreSQL实例外,DMS在其他RDS实例中自动创建的账号均不具备创建数据库和数据库账号的权限。

      • 安全托管-手动:DMS会自动为实例开启安全托管,但您需要手动输入已创建好的数据库账号及密码。

      • 安全托管-KMS:DMS会自动为实例开启安全托管,但您需要手动选择在KMS创建的RDS凭据以登录数据库。

        说明

        目前仅录入RDS实例时,会出现该参数。

      • 不托管(不推荐):不开启托管需要频繁使用数据库账号和密码登录,可能会影响正常功能使用。

      增值功能包

      您可按需选择功能包。

      • 安全协同稳定变更(二选一):安全协同支持稳定变更的所有能力,其提供DevOps功能,可灵活自定义研发流程、审批流程;稳定变更支持为数据库提供更加稳定运行的解决方案,如无锁变更、SQL审核。

        说明

        若不选择安全协同和稳定变更功能包,则实例默认为自由操作。

      • 敏感数据保护:此功能可以实现对敏感数据进行管控和脱敏,根据您的业务需求选择是否开启此功能。详细信息,请参见开通敏感数据保护

      安全规则

      当功能包选择安全协同时,会出现该配置项。

      您可以选择系统默认或自建的安全规则对数据库进行精细化的管控。

      分类分级模板

      当开启敏感数据保护时,才会出现分类分级模板的配置项。

      可通过给实例绑定分类分级模板,识别实例中库表的字段是否符合模板内的识别规则,若符合,则给字段打上分类分级的标签,保护敏感等级高的字段。

      高级信息

      环境类型

      选择数据库环境的类型

      实例名称

      取消勾选自动同步实例名称,即可自定义实例在DMS中显示的名称。

      说明

      在第一次录入云数据库时,DMS系统会同步云数据库侧的名称。后续不再进行同步,您可以通过编辑实例来维护实例名称。

      无锁结构变更

      选择是否开启无锁结构变更功能

      说明

      该配置项仅在数据库为MySQL时出现。

      开启SSL

      说明

      该配置项仅在数据库为MySQL或Redis时出现。

      DMS默认关闭SSL连接。

      若您需要通过SSL连接数据库,可手动开启DMS中的SSL连接,同时,确保数据库的SSL已开启。

      SSL(Secure Sockets Layer)能在传输层对网络连接进行加密,提升通信数据的安全性和完整性,但会增加网络连接响应时间。

      实例DBA

      选择一个DBA角色进行后续权限申请等流程。

      查询超时时间(s)

      设定安全策略,当达到设定的时间后,SQL窗口执行的查询语句会中断,以保护数据库安全。

      导出超时时间(s)

      设定安全策略,当达到设定的时间后,SQL窗口执行的导出语句会中断,以保护数据库安全。

  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的任务管理中查看变更任务的进展。具体操作,请参见任务管理

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