数据库无法启动 通过.frm.ibd文件恢复数据

1.找到数据库文件位置:/var/lib/mysql/,将需要恢复的数据的frm、idb文件拷贝出来

2.找到数据库配置文件位置:/etc/mysql/my.cnf

*以下举例为book表

获取表结构:

1.创建一个相同名称相同字段数的表;

2.关闭数据库服务:service mysql stop

3.用拷贝出来的的book.frm覆盖新表的book.frm

4.修改数据库配置文件my.cnf:innodb_force_recovery = 6

5.启动数据库服务:service mysql start

6.进入mysql,使用:desc book查看该表结构

恢复数据:

1.修改数据库配置文件my.cnf:innodb_force_recovery = 0

2.重启数据库服务:service mysql restart

3.执行mysql命令:alter table book discard tablespace;

4.将之前拷贝出来的book.ibd 放入对应的位置;

5.给book.ibd修改权限:chown mysql:mysql book.ibd

6.执行mysql命令:alter table book import tablespace;

7.查看book表,数据恢复成功。

*注意

1.恢复数据执行mysql命令:alter table book discard tablespace;时报错:ERROR 1015 (HY000): Can't lock file (errno: 165 - Table is read only)

将之前设置的innodb_force_recovery = 6 改为 innodb_force_recovery = 0 重启服务

2.恢复数据执行mysql命令:alter table book import tablespace;时报错:Tablespace is missing for table `book`.`book`.

book.ibd未修改权限,执行chown mysql:mysql book.ibd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值