mysql innodb 数据库意外断电恢复

mysql 5.6 数据库意外断电,起不来了,恢复过程。

先百度说要改innodb_force_recovery,但是不顶用呀。后来一番摸索,找到了以下方法。

只用frm和idb文件来恢复。


1、重命名损坏数据库

将data文件夹下的数据库文件夹重命名,并新建一个同名数据库


2、获取表结构
使用 mysqlfrm获取表结构,无需启动数据库。进入mysql目录(--basedir参数中的.)。获取shuiwu数据库t_a表的结构
D:\xampp\mysql>mysqlfrm --basedir=.  --port=3333  data\shuiwu\t_a.frm
为什么port是3333而不是3306,这个port是mysqlfrm使用的,而不是数据库使用的



3、恢复
根据获取的表结构在新数据库中建表。

alter table a discard tablespace;  //删除对应的idb文件

将备份的idb拷贝过来

alter table a import tablespace;



你可能感兴趣的:(数据库)