当前位置: 代码迷 >> 综合 >> mysql 在线表迁移 :alter table “move”
  详细解决方案

mysql 在线表迁移 :alter table “move”

热度:9   发布时间:2023-12-19 16:19:07.0

1)file-per-table tablespace 、system tablespace -----》 general tablespace

ALTER TABLE tbl_name TABLESPACE [=] tablespace_name;

eg:

alter table t1 tablespace ts1;

move 完table后表原来的ibd 文件会被删除;

 

 2)general tablespace 、 file-per-table tablespace  -----》 system tablespace,
ALTER TABLE tbl_name TABLESPACE [=] innodb_system;

 

3)system tablespace 、general tablespace ------》 file-per-table tablespace,
 

ALTER TABLE tbl_name TABLESPACE [=] innodb_file_per_table;

 eg:

alter table t1 tablespace innodb_file_per_table;

原来表空间的物理大小不会自动被回收。

 

ALTER TABLE ... TABLESPACE  操作原理:全表重建类似(cats)
TABLESPACE 关键词对象 后面没有跟具体的表空间也是会重建表

操作期间会锁表;

  相关解决方案