binlog日志用于记录所有更新数据,当我们的数据库出现故障时,我们可以利用binlog日志来挽回。
如果mysql数据库出现问题需要重新创建binlog二进制文件。
# 关闭当前的binlog日志并创建一个新日志文件,编号加1。
flush logs
# 查看日志,查出需要恢复的时间点
mysqlbinlog --no-defaults fangx-bin.000001 |more
#恢复具体时间导成SQL语句
mysqlbinlog fangx-bin.000001 --database=fangx --start-datetime='2018-06-6 00:00:01' --stop-datetime='2018-06-6 23:59:59' > fangx2018.sql
database #为要恢复的数据库名称
start-datetime #恢复的起始时间
stop-datetime #恢复的结束时间
# 把sql语句导入进去
mysql -uroot -pfan fangx -v -f < fangx2018.sql
-v 是查看导入的详细信息
-f 是当中间遇到错误时,可以skip过去,继续执行下面的语句
# 或者这样直接导入
mysqlbinlog --no-defaults fangx-bin.000001 --start-position="794" --stop-position="1055" | mysql -uroot -pfan fangx
#清除所有binlog日志 从1开始
reset master