discuz论坛误删全部帖子的恢复
今天有人向我求助,他在用dz批量删除帖子的时候因为误操作把帖子都删光了,问我能不能恢复,因为论坛上次备份还是12月7号,所以通过备份还原已经是不可能了,只能恢复到12月7号的时候。我查了一下,还好mysql的binlog开启了,这样就还有恢复的希望。
先找到mysql的日志文件,这个服务器上在/mysql/data/下,命名是mysql-bin.******,查了一下,12月7号之后备份的序号为/data/mysql-bin.000027开始,今天的序号为/data/mysql-bin.000029。然后就用mysqlbinlog工具来恢复数据吧。
首先把论坛的库里面的数据都删掉,然后恢复到12月7号,然后查看备份文件的备份时间为12月7日22:13:32,记下这个时间,然后执行以下命令
mysqlbinlog ../data/mysql-bin.000027 –start-date=”2009-12-07 22:13:32″ -d dbname | mysql -u root -pyourpassword
如果报错可以把时间往后调一两秒试下
然后恢复/data/mysql-bin.000028 如下
mysqlbinlog ../data/mysql-bin.000028 -d dbname | mysql -u root -pyourpassword
最后恢复/data/mysql-bin.000029,这个要注意截止时间。如果记得误操作的时间最好,如果不记得误操作的时间可以用
mysqlbinlog ../data/mysql-bin.000029 -d dbname > d:\000029.sql
将日志导出成sql文件,然后在里面查找删除帖子的命令,然后查看时间。比如为2010-01-20 09:53:45。(ps:导出的文件通常会比较大,强烈建议用emeditor编辑)
确定时间以后执行
mysqlbinlog ../data/mysql-bin.000028 –stop-date=”2010-01-20 9:53:00″ -d dbname | mysql -u root -pyourpassword
执行完了以后基本数据就恢复了。
此后还有一个步骤要做就是恢复附件,帖子删除以后福建也会随之删除,这个时候就需要恢复附件文件了,这里推荐使用easyrecovery,非常简单易用,恢复后复制到相关目录即可。
最近评论