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
来源: http://www.bubuko.com/infodetail-2634003.html