在使用数据管理DMS的无锁结构变更功能前,您需要先开启目标实例的无锁结构变更。本文介绍开启无锁结构变更的方法。

前提条件

  • 支持的数据库类型:RDS MySQLPolarDB MySQL版MyBase MySQL、其他来源MySQL。
  • 实例的管控模式为稳定变更或安全协同。更多信息,请参见查看管控模式
  • 您的用户角色为DBA或管理员。查看用户角色,请参见查看我的系统角色

操作步骤

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据资产 > 实例管理
  3. 单击目标实例右侧操作列下的更多>编辑实例
    说明 您也可以在DMS左侧的实例列表中,右键单击目标实例,选择编辑实例
  4. 单击高级信息
  5. 无锁结构变更的下拉列表中,选择开启(DMS无锁变更执行)开启(原生无锁优先,失败转DMS执行)
    选项执行说明备注
    DMS无锁变更执行直接使用DMS自研的DDL无锁变更执行,以保障不锁表。
    说明 如下情况无法通过DMS无锁变更执行,会自动降为原生无锁执行,若DMS检测到原生无锁执行会锁表或报错,则任务执行失败。
    • 目标表为空表。执行空表无风险,选择原生执行速度会更快。
    • SQL语句涉及增加唯一约束(UK)。由于DMS无锁结构变更的原理限制,不支持增加UK。
    执行时间相对MySQL原生OnlineDDL会慢一些,但不影响复制行为,不会产生延迟现象。
    原生无锁优先,失败转DMS执行优先尝试使用数据库原生OnlineDDL无锁执行,如果DMS检测到原生执行会锁表或失败,则自动转用DMS自研的DDL无锁变更引擎执行,以保障不锁表。执行时间相对比较快,但有可能导致实例的并行复制降为串行复制,从而可能产生主备延迟现象。
    关闭原生语句下发给MySQL执行,不进行任何处理。
  6. 单击提交
    实例开启无锁结构变更后,您在该实例中执行以下类型的工单,都会优先采用无锁结构变更的方式。