mysql表空间迁移

个人学习笔记,谢绝转载!!!

原文:https://www.cnblogs.com/wshenjin/p/16277007.html


innodb_file_per_table=1

直接使用ibd迁移的方式

1.在不同库或者实例上新建相同的表结构,并卸载表空间

mysql> ALTER TABLE ttt DISCARD TABLESPACE;

2.导出旧表的表空间(在分区表空间传输没有完成之前,不要退出该会话或者执行unlock tables;操作)

mysql> FLUSH TABLES ttt FOR EXPORT;

3.将表空间文件传输到新表,并授权导入

cp ttt.{cfg,ibd} newdb/
chown mysql:mysql newdb/ttt.{cfg,ibd}

mysql> ALTER TABLE ttt IMPORT TABLESPACE;

4.释放旧表空间的共享锁

mysql> UNLOCK TABLES;

5.对于分区表只是迁移某个分区:

导出分区表空间文件:ALTER TABLE ttt DISCARD PARTITION p2,p3,p4,p5 TABLESPACE;
导入分区表空间文件:ALTER TABLE ttt IMPORT PARTITION p2,p3,p4,p5 TABLESPACE;

学习参考:https://dude6.com/article/321738.html

posted @ 2022-05-16 15:07  wshenJin  阅读(479)  评论(0编辑  收藏  举报