二进制日志(BINLOG)记录了所有的DDL(数据定义语言)和DML(数据操作语言)语句,但不包括数据查询语句。
- MySQL的主从复制。在MySQL8版本中,默认二进制日志是开启着的,涉及到参数如下:
show variables like '%log_bin%';



show variables like '%binlog_format%';

由于日志是以二进制方式存储的,不能直接读取,需要通过二进制日志查看命令 mysqlbinlog来查看,具体语法mysqlbinlog [ 参数选项 ] logfilename
参数选项:
-d 指定数据库名称,只列出指定的数据库相关操作。
-o 忽略掉日志中的前n行命令。
-v 将行事件(数据变更)重构为SQL语句
-vv 将行事件(数据变更)重构为SQL语句,并输出注释信息
对于比较繁忙的业务系统,每天生成的binlog数据巨大,如果长时间不清除,将会占用大量磁盘空间。可以通过以下几种方式清理日志:

也可以在MySQL的配置文件中配置二进制日志的过期时间,设置之后,二进制日志过期会自动删除。
show variables like '%binlog_expire_logs_seconds%';
发表评论