MySQL用表空间文件恢复innodb表

服务器崩溃导致mysql启动一会儿后自动关闭,一时排查不到问题,而mysqldump等备份工具还未来得及备份完成,或者是备份遇到了表空间文件损坏导致中断,所以需要通过ibd文件抢救尚未损坏的表数据。

大致过程为:

  • 1 创建数据表a(需要从原环境dump出ddl语句)
  • 2 discard

ALTER TABLE t1 DISCARD TABLESPACE;