数据误删 Drop库怎么办?

背景: 测试环境,不小心drop表,删除数据了。怎么恢复?

大概步骤:根据undolog日志进行恢复。

前提:校验是否开启了log_bin日志,首先进入mysql命令,查看binlog日志是否已经开启。输入命令show variables like 'log_bin';如下图所示,如果没有开启binlog那么恭喜你,恢复数据就增加难度了。

1、show variables like 'log_bin' 查看日志是否开启

2、show master logs; 查看日志列表

3、show master status;查看最后一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值

步骤:

查看mysql

1.mysql --help | grep 'Default options' -A 1 

 

 

 

2.找到mysql-bing.*** 日志目录

 

  使用命令,找到log日志目录位置:find / -name mysql-bin.000049

 

3.恢复日志

切换到mysqlbinlog命令目录

 

 6、恢复数据的方式

    /*时间恢复*/
    mysqlbinlog --no-defaults --start-datetime="2021-01-12 10:10:00" --stop-datetime="2021-01-12 10:20:00" /export/data/mysql/data/mysql-bin.000049 >test-back-10.sql

    或者下面的方式,start-datetime有时候不好使
    mysqlbinlog --no-defaults --start-date='2021-01-12 10:18:00' --stop-date='2021-01-12 10:20:00' /export/data/mysql/data/mysql-bin.000049 > test-back-11.sql

    /*位置恢复*/
    mysqlbinlog --no-defaults --stop-position="323223" --start-position="232223" /export/data/mysql/data/mysql-bin.000049 > test-back-13.sql

 

参考:

https://www.cnblogs.com/jpfss/p/11112283.html

https://www.jianshu.com/p/346de5089ccd

 

posted @ 2021-01-12 14:28  架构之路  阅读(269)  评论(0编辑  收藏  举报
========================================================================== 如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行 ==========================================================================