mysql data还原_MySql的Data目录恢复数据

用了景安的一个测试服务器,前两年的时候他们说要架构升级要换IP,我不允许换,就一直拖着,今天他们给我说可以不换IP了,我说那可以啊,就开始吧。然后他们升级完毕,发现Mysql启动不了,提示服务启动后停止之类的。于是我查资料,看有个人让执行mysqld –initialize,但是不管用。

后来只好想办法通过Data目录恢复数据,先把整个Data目录备份,然后重新安装了Mysql,然后把Data目录替换,发现仍然启动不了。于是就删除了ibdata1文件与ib_logfile0、ib_logfile1三个文件,就可以重启了。但是发现自己的数据库能看见表名,就是看不到数据,说明ibdata1文件是必不可少的,于是单独把ibdata1复制过来,把那两个删除了,发现还是不行。就去看.err文件的错误日志,看到了Mysql建议看这个链接

https://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html 。

把 配置文件种一个设置 innodb_force_recovery 改为6之后,终于可以启动了。但是这时候Mysql是只读的状态,还好,可以导出成SQL,再导入就行了。

先用命令mysqldump –all-databases > all.sql导出,然后将

innodb_force_recovery 改为1之后重启MYSQL,把各种数据表的同名目录删除,再把ibdata1,ib_logfile0,ib_logfile1都删除,重启Mysql,会自动创建这三个文件,再执行mysql < all.sql就可以还原数据库。

以后遇到错误还是不要急着去重装,应该先从错误日志找原因。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值