【mysql】MYSQL ONLINE DDL 操作影响说明

MYSQL ONLINE DDL 操作影响说明

 

操作内容

HANG

ghost支持

生产使用方案

demo

备注

DROP TABLE

YES

NO

单独方案

 

在DROP TABLE的时候,所有进程不管是DDL还是DML都被HANG起;直到DROP结束才继续执行;

这是因为INNODB会维护一个全局独占锁(在table cache上面),直到DROP TABLE完成才释放。

CREATE TABLE

NO

NO

online ddl

 

 

RENAME TABLE NAME

NO

NO

online ddl

alter table tab1 rename to tab2;

 

ADD TABLE COMMENT

NO

YES

online ddl

alter table tab1 change col1 col1 varchar(20) comment '123';

DROP COLUMN

NO

YES

gh-ost

 

 

ADD COLUMN

NO

YES

gh-ost

 

 

CHANGE COLUMN  default

NO

YES

online ddl

alter table tab1 change col1 col1 varchar(20) default 'ceshi';

CHANGE COLUMN  name

NO

YES

online ddl

alter table tab1 change col1 col2 varchar(20) ;

CHANGE COLUMN

NO

YES

gh-ost

 

1、修改字段null/not null

2、修改字段类型

3、修改字段长度

DROP INDEX

NO

YES

online ddl

alter table tab1 drop index idx_tab1_ceshi;

CREATE INDEX

NO

YES

gh-ost

 

 

MODIFY INDEX

NO

YES

gh-ost

 

拆分为drop index 和create index

GRANT PRIVILEGES

NO

NO

online ddl

 

 

REVOKE PRIVILEGES

NO

NO

online ddl

 

 

你可能感兴趣的:(mysql)