记一次数据库被删,使用mysql binlog恢复数据库

前提:客户将服务器权限交给了陌生人,导致数据库被删。

1、进入服务器内找到了昨天的mysql-bin文件,可以看见下面一个已经被删掉后的mysql-bin文件,已经空了

记一次数据库被删,使用mysql binlog恢复数据库

2、执行命令导出文件查看用以恢复

/www/server/mysql/bin/mysqlbinlog  /www/server/data/mysql-bin.000005 > /root/1.sql

3、查看这个文件的开头

more /root/1.sql

记一次数据库被删,使用mysql binlog恢复数据库

4、查看文件结尾,这个命令是倒数50行

tail -50 /root/1.sql

记一次数据库被删,使用mysql binlog恢复数据库

 

5、恢复

可以看见at后面刚开始是1923,结束是56640555

我从1923恢复发现报错了,我就建立了被删除的数据库名,然后从2450恢复

/www/server/mysql/bin/mysqlbinlog --no-defaults /www/server/data/mysql-bin.000005 --start-position="2450" --stop-position="56640555" | /www/server/mysql/bin/mysql -uroot -p15f40fd

6、检查数据已经恢复