MySQL5.7开启binlog日志,及数据恢复示例
作者:互联网
1、相关命令
1)查看是否开启 binlog日志,默认不开启,log_bin值为OF
show variables like '%log_bin%';
2)查看产生的 日志文件。
show binary logs;
3)查看当前使用的日志文件,即记录操作的最后一个日志文件
show master status;
4)查看日志事件信息 ,开始、结束操作位置等
show binlog events;
5)查看mysql-bin.000001日志文件的事件信息 ,开始、结束操作位置等
show binlog events in 'mysql-bin.000001';
6)产生新日志,后面的操作会写到新日志中,日志名mysql-bin.00000X+1
flush logs;
7)清空所有的日志,从mysql-bin.000001开始重新记录日志
reset master;
8)查询mysql-bin.000001中记录的操作,不显示sql,要进入到mysql的安装目录中
mysqlbinlog mysql-bin.000001;
9)查询mysql-bin.000001中记录的操作,会显示sql语句
mysqlbinlog --base64-output=decode-rows -v mysql-bin.000001;
2、开启binlog
修改配置文件/etc/my.cnf,增加如下配置:
log_bin=mysql-bin server-id = 1
说明:
1)看准log_bin是下划线,不是横杠,mysql-bin是定义的 产生日志的文件名前缀。
2)server-id的值随便指定 ,集群环境下不能重复。
3)配置完成后,需要重启数据库,此时/var/lib/mysql下已经产生日志文件mysql-bin.index、mysql-bin.000001
3、演示恢复表及其数据
1)查看当前日志文件
当前记录日志文件mysql-bin.000001,初始位置154。
2)新建数据库mydb1,新建表t_test1,并准备数据如下
3)再次查看记录位置,发现记录位置已改变
4) 查看mysql-bin.000001日志文件的事件信息 ,开始、结束操作位置等
5)查看记录日志的详细信息,可以看到sql语句
6)重新开启新日志
7)开始演示恢复表操作,首先删除表
8)查看建表位置
[root@localhost mysql]# mysqlbinlog --base64-output=decode-rows -v mysql-bin.000001;
9)执行恢复语句,查询结果,表及数据恢复完成。
标签:bin,binlog,bin.000001,查看,示例,MySQL5.7,show,mysql,日志 来源: https://www.cnblogs.com/javasl/p/13043971.html