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 @   wshenJin  阅读(502)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2021-05-16 explain 小结
点击右上角即可分享
微信分享提示