数据管理DMS的无锁结构变更功能可以较好地规避因锁表而导致的业务阻塞,以及数据库原生OnlineDDL带来的主备延迟问题。本文以云数据库RDS MySQL举例,引导您快速使用DMS完成无锁结构变更。
新增实例并开启无锁结构变更
- 登录数据管理DMS 5.0。
- 单击页面左侧导航栏的  。说明 。说明- 若您使用的是极简模式控制台,请先单击页面左侧的数据库实例,再单击  。 。
- 在新增实例对话框中,配置如下信息: - 选择阿里云页签下的MySQL。 
- 配置基本信息与高级信息。详细信息,请参见云数据库录入。   - 类别 - 配置项 - 说明 - 数据来源 - - - 选择阿里云。 - 基本信息 - 数据库类型 - 选择数据库实例的类型。 - 实例地区 - 选择数据库实例所在的地域。 - 其他主账号 - 若您选择跨阿里云账号实例,则会出现该配置项。选择数据库实例所属的主账号。 说明- 如果主账号不在选择列表中,您可以单击添加用户,添加数据库实例购买者的主账号。具体操作,请参见添加用户。 - 录入方式 - 选择数据库实例的录入方式。支持实例ID或连接串地址两种录入方式。 - 实例ID或连接串地址 - 输入实例ID或连接串地址。 说明- 连接串地址的组成形式为内网地址+内网端口。以RDS MySQL举例,rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。 - 数据库账号 - 输入需要登录的数据库账号。 说明- DMS将通过该账号对数据进行读、写或其他操作,请提供具有相关权限的账号。 - 数据库密码 - 输入数据库账号对应的密码。 - 管控模式 - 选择数据库的管控模式,详情请参见管控模式。 - 敏感数据保护 - 此功能可以实现对敏感数据进行管控和脱敏,根据您的业务需求选择是否开启此功能。详细信息,请参见开通敏感数据保护。 - 分类分级模板 - 若开启敏感数据保护,才会出现分类分级模板的配置项。 - 可通过给实例绑定分类分级模板,识别实例中库表的字段是否符合模板内的识别规则,若符合,则给字段打上分类分级的标签,保护敏感等级高的字段。详细信息,请参见管理分类分级模板。 - 高级信息 - 环境类型 - 选择数据库环境的类型。实例环境类型的详细信息,请参见实例环境类型。 - 实例名称 - 自定义实例在DMS中显示的名称。 说明- 在第一次录入云数据库时,DMS系统会同步云数据库侧的名称。后续不再进行同步,您可以通过编辑实例来维护实例名称。具体操作,请参见编辑实例。 - 开启DBLink - 选择是否开启DBLink,详情请参见逻辑数仓。 - 无锁结构变更 - 选择是否开启无锁结构变更功能,支持DMS无锁变更执行和原生无锁优先,失败转DMS执行两种执行变更的方式。执行方式的详细信息,请参见开启无锁结构变更。 说明- 该配置项仅在数据库为MySQL时出现。 - 开启SSL - 选择是否开启SSL连接,开启后,DMS将通过SSL连接至数据库。 - SSL(Secure Sockets Layer)能在传输层对网络连接进行加密,提升通信数据的安全性和完整性,但会增加网络连接响应时间。 - 使用该参数的前提是数据库已开启SSL连接,当前支持如下选项: - 默认(DMS与数据库服务自动协商是否开启):系统将自动识别目标数据库是否已开启SSL连接,若数据库已开启SSL连接,则DMS将通过SSL连接数据库;若数据库未开启SSL连接,则通过普通方式进行连接。 
- 开启:开启SSL连接。若数据库未开启SSL连接,则该参数无效。 
- 关闭:不使用SSL连接。 
 说明- 该配置项仅在数据库为MySQL或Redis时出现。 - 实例DBA - 选择一个DBA角色进行后续权限申请等流程。 - 查询超时时间(s) - 设定安全策略,当达到设定的时间后,SQL窗口执行的查询语句会中断,以保护数据库安全。 - 导出超时时间(s) - 设定安全策略,当达到设定的时间后,SQL窗口执行的导出语句会中断,以保护数据库安全。 
 
- 信息配置完成后,在基本信息页面中,单击页面左下角的测试连接,等待测试通过。 说明- 如果测试连接失败,请按照报错提示检查并修改您的配置信息。 
- 连接成功后,单击提交。 
无锁结构变更
- 登录数据管理DMS 5.0。
- 在顶部菜单栏中,选择。 说明- 若您使用的是极简模式的控制台,请单击控制台左上角的  图标,选择。 图标,选择。
- 配置无锁变更工单。如下表格仅对部分重要参数进行说明,其他参数的信息,请参见DML无锁变更。 - 参数名 - 说明 - 数据库 - 搜索并选择目标数据库,支持选择多个目标数据库。 - 有权限:只能搜索并选择有变更权限的数据库。 
- 全部:可以搜索并选择所有的数据库(除开启元数据访问控制的数据库)。 说明- 如果您没有目标数据库的变更权限,请在顶部菜单栏中选择,单击,在权限申请工单页面申请您需要的权限。 
 - 变更SQL - 输入DDL(Data Definition Language),例如 - ALTER TABLE、- OPTIMIZE。说明- 如果您输入的是DML(Data Manipulation Language),则您进行的是无锁数据变更任务。更多信息,请参见DML无锁变更。 
- 单击提交申请。 - 系统将自动进行SQL预检查。如果预检查失败,您可以根据失败原因,单击修改SQL,修改SQL后重试。 
- 等待审批通过后,在工单详情页的执行区域,单击执行变更。 
- 配置任务执行参数。 - 配置项 - 说明 - 执行策略 - 立即执行:系统默认,单击确认执行后立即执行工单任务。 
- 定时执行:选择任务开始执行时间。单击确认执行后,在指定的时间执行该任务。 
 - 指定结束时间 - 开启:选择任务结束时间。如果任务在指定结束时间之前没有执行完毕,则系统将不再继续执行未完成的SQL任务,防止高峰期执行任务,影响业务运作。 
- 关闭:系统默认。 
 
- 单击确定执行。 说明- 已暂停的任务,重启后,会重新开始执行任务。 - 您可以在执行区域,查看任务执行状态、任务的执行配置、调度日志等信息。 
- 您还可以在,查看无锁结构变更任务进度。具体操作,请参见查看无锁变更进度。