几天前,我发现这篇文章后发现这篇文章后,我无法让mysql再次运行(xampp):XAMPP - MySQL shutdown unexpectedly
它说要删除我做的ibdata1文件,mysql再次启动但是一个数据库的表已经消失,但我仍然可以看到包含数据文件夹中的值的表(ibd和frm文件)无论如何我可以恢复那些桌子吗?
感谢。
答案 0 :(得分:4)
ibdata1文件很重要,通常你不应该删除它,除非你想要删除你所有的InnoDB数据并重新开始使用一个空的MySQL实例。
即使您使用innodb_file_per_table=1
并且所有表都存储在.ibd文件中,ibdata1文件仍然包含数据字典,它基本上类似于InnoDB的全局目录表空间。这就是InnoDB如何知道你拥有哪些表以及它们驻留在哪些文件中.ibdata1文件还可以在回滚段和更改缓冲区中包含重要数据,这些数据最终将合并到您的表中,但这可能需要一些时间。
如果你已经删除了ibdata1,并且你已经以每表格文件格式存储表数据,有时可以恢复,但这是一个细致的过程。以下是一些参考文献:
恢复最近的备份更简单,然后在最近的备份之后进行use the binary log to play back changes。