一、起因:
由于误删数据,造成服务报错,经排查发现误删了一个表,造成数据不一致。但由于时间较近,范围不太确定,所以采用mysqlbinlog日志进行时间恢复。
二、恢复:
1、将前一天的mysql-bin.log日志,通过mysqlbinlog 命令可以查看具体操作记录
2、先将完整的数据,进行一次导入
3、再将binlog日志进行精细化恢复,命令
mysqlbinlog mysql-bin.000014 --start-datetime='2018-03-14 12:00:00' --stop-datetime='2018-03-14 16:30:00' -d logbin > logbin.sql
4、-d 指定数据库 ,如果不加 -d logbin 将会连二进制日志一起被导出
5、如果确定库名,可以直接导入:mysqlbinlog mysql-bin.000002 --start-datetime='2016-12-14 17:10:43' --stop-datetime='2016-12-14 17:17:53' -d test1 | mysql -uroot -p (建议先导出后查看数据结构,确保无误后再导入数据。)