学生如何自己做网站,百度收录的网站标题 --,wordpress要多少钱,免费开源建站系统源码使用mysql数据库的时候不小心误删除了ibdata和ib_logfile文件#xff0c;但是幸好.ibd文件还在。这种情况下其实数据还在并未丢失#xff0c;丢失的是表结构。查询表数据时会报错#xff1a;ERROR 1146 (42S02): Table ‘testdb.test’ doesn’t exist#xff0c;其实是说表…使用mysql数据库的时候不小心误删除了ibdata和ib_logfile文件但是幸好.ibd文件还在。这种情况下其实数据还在并未丢失丢失的是表结构。查询表数据时会报错ERROR 1146 (42S02): Table ‘testdb.test’ doesn’t exist其实是说表结构不存在。 这种情况下数据是可以恢复的具体方法如下 1、set foreign_key_checks0; 取消外键关联检查否则移除表空间的话会报错。
2、drop table test/ drop database testdb
3、 先备份要恢复的数据库(比如testdb)目录的.ibd文件然后删除.frm 和.ibd文件
4、按照备份.ibd文件时的表结构新建表 备注row_format要和ibd文件的row_format一致否则会提示两者不一致。
5、移除表空间 alter table test DISCARD TABLESPACE;
6、将备份的ibd文件放到testdb目录下并修改它的所有者和所属组为mysql:mysql chown mysql:mysql ./test.ibd
7、 重新导入表空间 alter table test IMPORT TABLESPACE;
8、set foreign_key_checks1; 重新设置外键关联检查。