月亮代表我的心

个人博客,跟月亮无关,跟代表无关,无关谁的心

笔记:恢复误删的MySql数据

晚上误删(清空)了博客的全部数据,一翻折腾后终于恢复,现在简单记录一下。

第一步:检测是否开启了MySQL二进制日记(log_bin)

mysql> show global variables like ‘log_bin’;

Value 为 ON 即开启了,如果是OFF,那以下恢复步骤就无效了。

如果是数据删除后再开启,以下恢复步骤也是无效的。

第二步:进入数据库所在目录查看mysql-bin文件,有多个mysql-bin如何选择?这点我并没有深究,我根据mysql-bin文件的大小与日期,以及博客内容创建的周期,进行推算。

我需要恢复的是最近约10天(5月28日至6月6日)的数据,因此选择了Jun 7这个日期的mysql-bin.000004进行恢复。

第三步:通过mysqlbinlog恢复数据,生成sql文件。

格式:mysqlbinlog –start-datetime=’开始日期’ –stop-datetime=’结束日期’ mysql-bin文件 >生成的sql文件

注意:日期格式请参考以下例子,文件含路径,以下路径仅供参考,具体以你MySQL安装路径为准。

例子:

1
mysqlbinlog --start-datetime='2017-05-28 0:10:00' --stop-datetime='2017-06-06 16:00:00' /usr/local/mysql/data/mysql-bin.000004 >/usr/local/mysql/mysql_0528.sql

如果成功至此步骤,将获得一份从2017-05-28 0:10:00至2017-06-06 16:00:00期间,对数据库操作的所有sql语句(DML/DDL/DCL),可以理解成是操作日志,所以并不能直接导入至误删的数据库当中,需要根据实际需求自行筛选。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注