Mysql的二进制日志,可以说是mysql最重要的日志。它会将所有的DDL和DML(除了数据查询语句)以事件形式记录,还会记录语句消耗的时间,是事物安全型的。一般来说开启bin_log会有百分之1的性能损耗
它有三个使用场景
1:Mysql Replication在master端开启binlog,master把它的二进制日志传递给slaves来达到master-slave数据一致的目的
2:数据恢复
3:实时监控Mysql
开启mysql的log_bin
查看mysql中二进制日志是否开启
off表示未开启,关闭Mysql,修改/etc/my.cnf,添加以下代码
log-bin=/var/lib/mysql 指定二进制日志的目录
重启mysq,查看是否开启成功
service msyqld restart
查看指定路径是否已经生成日志文件
我们在mysql中,输入
查看文件内容
mysqlbinlog /var/lib/mysql/mysql-bin.000002 > /root/1.txt
mysqlbinlog: unknown variable 'default-character-set=utf8'
换成这个命令
mysqlbinlog --no-defaults mysql-bin.000002 > /root/1.txt
cat /root/1.txt
也可以在Mysql命令中显示
mysql>show binlog events;只显示第一个日志文件
mysql>show binlog events in ‘mysql-bin.000002’;查看指定binlog文件的内容
至此,我们mysql开启bin_log监控成功