OnlineDDL
计算节点管理端(3325)支持OnlineDDL功能,保证了在进行表变更时,不会堵塞线上业务读写,库依然能正常对外提供访问,具体使用方法如下:
- 登录3325端管理端口,使用onlineddl"[DDLSTATEMENT]"语法可以执行onlineddl语句,例如:onlineddl “alter table customer add column testddl varchar(20) default ‘测试onlineddl’”;
- 执行show @@onlineddl语句,即可显示当前正在运行的OnlineDDL语句及语句执行速度,progress显示当前DDL执行进度(单位:%),speed显示为当前DDL运行速度(单位:行/ms),例如:
mysql> show @@onlineddl;
±-------------±------------------------------------------------------------------------------±---------±--------+
| schema | onlineddl
| progress | speed |
±-------------±------------------------------------------------------------------------------±---------±--------+
| TEST_DML_JWY | ALTER TABLE CUSTOMER ADDCOLUMN TESTDDL VARCHAR(20) DEFAULT ‘测试ONLINEDDL’ | 0.2300 | 23.3561 |
±-------------±------------------------------------------------------------------------------±---------±--------+
特殊说明:onlineddl 语句不是执行下去就代表DDL完成,返回了“Query OK, 0 rows affected ”仅代表DDL语句可以执行,如果看是否执行完成,要查看 show @@onlineddl中的progress显示的进度。show @@onlineddl结果为空时,代表所有DDL执行完毕当前无其他DDL任务,如果中途因为网络或其他异常DDL中断,会回滚整个DDL;
来源 https://www.modb.pro/db/81748