人工误删除InnoDB ibdata数据文件如何恢复?
Jun 07, 2016 pm 05:40 PM在日常工作中,因不熟悉InnoDB引擎,在群里看到有很多人误删除了InnoDBibdata(数据文件)和ib_logfile(redolog重做事务日志文件),结果导致了杯具的发生。如
在日常工作中,因不熟悉InnoDB引擎,在群里看到有很多人误删除了InnoDB ibdata(数据文件)和ib_logfile(redo log重做事务日志文件),结果导致了杯具的发生。如果你有做主从复制同步,那还好,如果是单机呢?如何恢复?
下面,香港服务器,请看恢复演示:
一、你可以用sysbench模拟数据的写入,如:
二、rm -f ib*
三、此时我估计你被吓得够呛,脸白手哆嗦,如果你看到这篇文章,心可以稳稳了,没事,可以恢复的。
四、此时,你会发现数据库还可以正常工作,数据照样可以写入,切记,这时千万别把mysqld进程杀死,否则你只有跳楼了,神仙都没法救你。
五、先找到mysqld的进程pid
我这里是30426
六、执行关键的一步
10,11,4,9就是我们要恢复的文件。
七、你可以把前端业务关闭,或者执行FLUSH TABLES WITH READ LOCK;这一步的作用是让数据库没有写入操作,以便后面的恢复工作。
八、如何验证没有写入操作呢?分以下几步,美国空间,记住要结合在一起观察。
九、上面一系列确认工作完成之后,我们就可以恢复了。还记得刚才我们记录的删除文件吗?
把这些文件拷贝到原来的目录下并修改用户属性即可。
并修改用户属性
十、大功告成,只需要重启MySQL即可。
怎样?就这么简单,你也动手试试吧。
本文出自 “贺春旸的技术专栏” 博客,美国服务器,请务必保留此出处

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











만료된 WeChat 파일을 복구하는 방법 만료된 WeChat 파일을 복구할 수 있나요?
