Skip to content

DDL DML Work Order

zongfei.fu edited this page Aug 27, 2024 · 9 revisions

目录

内容

Note

DDL/DML工单拆开提交的原因主要是考虑安全性,避免一些潜在的误操作/审批等问题。

适用场景

当研发、测试等人员需要变更数据库表结构、数据时,可提交DDL工单DML工单,适用于例行上线、数据修复等场景。

  • DDL工单用于表结构变更操作
  • DML工单用于数据变更操作

了解限制

如果您的主力数据库是MySQL/TiDB,那么当前的DDL/DML工单系统是可以满足您日常需求的。

  1. 支持MySQL、TiDB、MySQL分支或魔改数据库,社区版TiDB、MySQL、Percona Server MySQL、AWS Aurora,华为云/阿里云RDS等,建议版本大于5.6,TiDB版本要求大于4.0
  2. 单个工单最大支持提交2048条SQL语句,避免一个工单提交太多SQL语句,影响体验
  3. MySQL DML支持自动生成回滚SQL(基于解析Binlog实现),DDL表结构变更自动使用gh-ost执行
  4. TiDB DML不支持生成回滚SQL,TiDB原生支持Online DDL

配置数据库实例

需配置数据库实例为主节点(可写节点),请确保完成了配置审核/查询数据库实例

提交工单

Important

这里审核人必须大于等于2人,避免申请人只选择自己作为审核人

提交DDL工单

image

提交DML工单

image

工单列表

image

工单详情

Tip

展示的工单已经通过审核,工单内容部分关键字会高亮,用于提醒审核人。

DDL工单详情

image

DML工单详情

image

生成执行任务

Warning

执行前会检查工单执行人是否有执行权限

审批通过后,状态为已批准,由工单执行人点击执行工单,系统会自动拆分SQL,为每条SQL生成一个执行任务,然后跳转到任务执行页面。

执行任务

Warning

执行前会检查工单执行人是否有执行权限

执行DDL工单

image

执行DML工单

image

执行结果

DDL工单

image

DML工单

image

消息通知

Tip

以DML工单为例

image

image

image

image