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的作用是遇到错误略过继续执行。

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

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页