继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

森栏
关注TA
已关注
手记 335
粉丝 101
获赞 475

恢复的前提是开启了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的作用是遇到错误略过继续执行。

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

原文出处

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP