手记

mysql数据库,误操作之后,使用binlog恢复

恢复的前提是开启了binlog二进制的记录,就是mysql做了如下的配置


[mysqld] 

server-id = 1 

log_bin = /var/log/mysql/mysql-bin.log 

max_binlog_size = 1000M 

binlog-format = row 

然后重启就开启了。


误操作后,先mysql查询: show master logs;



看到有如mysql-bin.000001这种形式的记录,就证明是可以恢复的。

然后进入log文件的文件夹,我的位置在/var/lib/mysql

输入:

mysqlbinlog mysql-bin.000001 --start-datetime='2018-04-09 09:30:30' --stop-datetime='2018-04-16 17:05:30' |  mysql  -uroot  -p1234 project_schedule -f

这段命令的作用是 将project_schedule这个数据库,从2018-04-09 09:30:30到2018-04-16 17:05:30的所有命令全部执行一遍,-f的作用是遇到错误略过继续执行。

一般情况下,可以只设置终止时间不设置起始时间,这样就会将到终止时间的所有命令全部执行,变相达到回滚到之前时间点的效果。

原文出处

0人推荐
随时随地看视频
慕课网APP