1.在my.cnf的mysqld下加如下配置
server-id=1#不加启动不了,默认开了binlog就会有集群?
log-bin=/data/mysql5.7/logs/bin.log#二进制日志位置
sync_binlog=1#sync_binlog=n表示每写多少次缓冲就同步到磁盘,为1则表示用同步写磁盘的方式来写二进制日志
innodb_support_xa=1#因为sync_binlog=1,在数据commit之前就会写入二进制日志,如在此时宕机,则二进制日志与innodb存储引擎不一致,该设置可确保二进制日志与innodb存储引擎数据文件同步
2.重启mysql后,查看指定目录下是否有二进制日志文件
3.创建测试数据后删除
4.查看二进制日志:/data/mysql5.7/bin/mysqlbinlog -vv /data/mysql5.7/logs/bin.000003
5.找到删除数据前一个commit的完成位置
6.根据上图标注位置,执行恢复命令
/data/mysql5.7/bin/mysqlbinlog --stop-position=1342 /data/mysql5.7/logs/bin.000003 | ./mysql -uroot -p