1.确认MySQL是否开启binlog
使用 show variables like '%log_bin%';
2.进入数据库服务器,找到MySQL数据的data数据所在位置。binlog日志就在此文件夹下。如果找不到可以在MySQL的my.cnf下寻找看是不是指定到了其他位置上。
3.使用
/usr/bin/mysqlbinlog --database=hello /var/lib/mysql/bin-log-1.000001 | /usr/bin/mysql -uroot -p123456zy -v hello
可以将数据全量恢复,如果需要指定时间做局部恢复,可以指定开始时间和结束时间。
/usr/bin/mysqlbinlog --start-datetime="2021-06-27 20:58:18" --stop-datetime="2021-06-27 20:58:35" --database=hello /var/lib/mysql/bin-log-1.000001 | /usr/bin/mysql -uroot -p123456zy -v hello
--start-datetime="2021-06-27 20:58:18" 开始时间
--stop-datetime="2021-06-27 20:58:35" 结束时间
4.可以将binlog导出到文件,查看文件内容。
5.navicat下的清空表使用的是delete语句,我们可以日志查询到数据并对其进行恢复。