欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

mysql drop_mysql恢复drop掉的表

发布时间:2023/12/2 数据库 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mysql drop_mysql恢复drop掉的表 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

手贱drop了几个表,以为能从昨天的备份中恢复,结果发现最近两个月的备份都是空文件,因为备份脚本在两个月前改错了!难道就这样丢失两个月的数据?镇定镇定——

先看看mysql的配置文件

cat /etc/my.cnf

发现如下字样说明有救:

# Replication Master Server (default)

# binary logging is required for replication

log-bin=mysql-bin

log-bin顾名思义,就是对数据库任何操作的日志。虽然它只是增量日志,没有办法直接undo drop,但两个月前的备份+这两个月的日志=完整的数据库呀。

找找这文件在哪里,对centos来讲,一般位于

/usr/local/mysql/var

cd进入,ll一下,确定最近修改过的日志的文件名:

-rw-rw---- 1 mysql mysql     27687 Oct 29 08:12 mysql-bin.000001

-rw-rw---- 1 mysql mysql   1113246 Oct 29 08:12 mysql-bin.000002

-rw-rw---- 1 mysql mysql       264 Oct 29 08:13 mysql-bin.000003

-rw-rw---- 1 mysql mysql      1112 Oct 29 08:13 mysql-bin.000004

-rw-rw---- 1 mysql mysql       126 Oct 29 08:13 mysql-bin.000005

-rw-rw---- 1 mysql mysql       126 Oct 29 08:26 mysql-bin.000006

-rw-rw---- 1 mysql mysql       126 Oct 29 08:32 mysql-bin.000007

-rw-rw---- 1 mysql mysql       126 Oct 29 08:38 mysql-bin.000008

-rw-rw---- 1 mysql mysql 651639170 Dec 28 07:01 mysql-bin.000009

一般最后一个就是了。

然后利用此日志文件导出sql:

/usr/local/mysql/bin/mysqlbinlog --no-defaults --start-date='2016-10-28 05:00:00' --stop-date='2016-12-25 05:30:00' mysql-bin.000009 > restore.sql

接着先恢复两个月前的备份,然后导入此sql即可。

凡事有好有坏,如果不是这次误删,我就不会发现备份脚本出了问题。等到下次真正出事的时候,就为时晚矣。

总结

以上是生活随笔为你收集整理的mysql drop_mysql恢复drop掉的表的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。