数据管理DMS的无锁结构变更功能可以较好地规避因锁表而导致的业务阻塞,以及数据库原生OnlineDDL带来的主备延迟问题。本文以云数据库RDS MySQL举例,引导您快速使用DMS完成无锁结构变更。
新增实例并开启无锁结构变更
登录数据管理DMS 5.0。
单击页面左侧导航栏的
。说明若您使用的是极简模式控制台,请先单击页面左侧的数据库实例,再单击
。在新增实例对话框中,配置如下信息:
选择阿里云页签下的MySQL。
配置基本信息与高级信息。详细信息,请参见云数据库录入。
类别
配置项
说明
数据来源
-
默认选择阿里云-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实例时,会出现该参数。
-
不托管(不推荐):不开启托管需要频繁使用数据库账号和密码登录,可能会影响正常功能使用。
增值功能包
您可按需选择功能包。
安全规则
当功能包选择安全协同时,会出现该配置项。
您可以选择系统默认或自建的安全规则对数据库进行精细化的管控。
分类分级模板
当开启敏感数据保护时,才会出现分类分级模板的配置项。
可通过给实例绑定分类分级模板,识别实例中库表的字段是否符合模板内的识别规则,若符合,则给字段打上分类分级的标签,保护敏感等级高的字段。
高级信息
环境类型
选择数据库环境的类型。
实例名称
取消勾选自动同步实例名称,即可自定义实例在DMS中显示的名称。
说明在第一次录入云数据库时,DMS系统会同步云数据库侧的名称。后续不再进行同步,您可以通过编辑实例来维护实例名称。
无锁结构变更
选择是否开启无锁结构变更功能。
说明该配置项仅在数据库为MySQL时出现。
开启SSL
说明该配置项仅在数据库为MySQL或Redis时出现。
DMS默认关闭SSL连接。
若您需要通过SSL连接数据库,可手动开启DMS中的SSL连接,同时,确保数据库的SSL已开启。
SSL(Secure Sockets Layer)能在传输层对网络连接进行加密,提升通信数据的安全性和完整性,但会增加网络连接响应时间。
实例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任务,防止高峰期执行任务,影响业务运作。
关闭:系统默认。
单击确定执行。
说明已暂停的任务,重启后,会重新开始执行任务。
您可以在执行区域,查看任务执行状态、任务的执行配置、调度日志等信息。
您还可以在,查看无锁结构变更任务进度。具体操作,请参见查看无锁变更进度。