mysql数据库通过bin-log日志恢复数据

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

猜你喜欢

转载自blog.51cto.com/243662875/2125662