本文已发表于“安全客”,转载请注明出处。
某天,在测试一张新数据表的字段时,由于在phpmyadmin不断地删除该数据表,导致一时不慎将整个数据库drop掉,当时立马就吓尿了,那是我们运营了一年的宝贵数据,突然就全没了,虽然还有两个月前的一次备份数据,但中间改动的很多新结构以及产生的新数据都没法恢复。情急之下,立刻关掉数据库服务器,在网上寻找各种不靠谱的硬盘数据恢复软件,试图通过恢复mysql相关的数据库文件来找回,但是都没有效果,只能找到一些数据表的结构文件(.frm),然而这些结构我其实都有备份,没什么卵用。由于之前网上看过通过mysql相关文件可以从不同机器恢复数据,坚信恢复数据是可能的,所以不断寻求方法。后来,先找了认识的一个研发同事帮忙,他告我他都是用的别人管理的数据库服务,会自动备份,不需要自己维护数据库,并且告诉我恢复不了;然后他又帮我找到了另一个DBA同事,来到了现场帮我看,看我没有开启mysql的binlog配置,又给了我一个结论:没办法恢复了!当时我就真慌了,于是带着压力和微弱的信念,最终找到了可行的恢复方案,特此记录。