MySQL利用binlog增量恢复数据库

数据库中表被误删除 恢复方法
首先分析表是否重要
1 重要的情况处理
1 停服务,挂维护页面,保证数据一致性
2 找一个新的数据库做恢复测试,同时对故障库进行备份
3 恢复前日备份,恢复完毕后 拷贝 binlog过来
4 查找binlog位置,获取故障前一刻binlog位置 追binlog
5 启动测试
6 对外启动服务

要确保我们有之前的备份,要已经了开启binlog日志
先手动切割出一份binlog让所有数据写到新的binlog上面
mysqladmin -uroot -p flush-log

拷贝离问题点最近的binlog日志
cp /application/mysql/data/mysql.00000x /tmp/

恢复最近一次备份
mysql -uroot -p he < /tmp/all_bak.sql

把binlog二进制文件导出成SQL语句
mysqlbinlog -d he /application/mysql/data/mysql.00000x >bin.sql
-d 只导出指定库的SQL语句

找出并删除错误语句
vim bin.sql
把出问题的sql语句删除掉

把修改好的数据导入
mysql -uroot -p oldboy <bin.sql

猜你喜欢

转载自blog.csdn.net/bjgaocp/article/details/88143727