今天早上误删了mysql中的一张表:

delete from tb_***;

悲催的一个操作,  然后速度想办法恢复数据.

首先, 在mysql下找到类似下面框中的文件.

list

这些属于binlog的日志文件. 里面有某个时间段的操作~

出现这个

mysqlbinlog: unknown variable 'default-character-set=utf8'

解决这个问题添加 --no-defaults 参数执行mysqlbinlog.

最终的运行命令:

 mysqlbinlog --no-defaults  --start-date="2016-06-30 02:30:00" --stop-date="2016-06-30 03:00:00" --database=test mysql_bin.000018 > data.txt

其中--database参数指定特定数据库, 但是要注意. 这个只显示use xxx之后操作的SQL.对于直接使用xxx.tablename的语句是不会显示的.

上面的语句生成的data.txt文件打开后, 格式如下:

sql

在里面根据时间戳找到时间段之间的数据还原回去即可.

如果数据量大, 这样还是比较费神.  不过数据回来就好. ~