mysqlbin.000001,mysqlbin.000002
log_bin=mysqlbin
配置二进制日志的格式
binlog_format=STATEMENT
2.2.2 日志格式
STATEMENT
该日志格式在日志文件中记录的都是SQL语句(statmeent),每一条对数据进行修改的SQL都会记录在日志文件中,通过MySQL提供的MySQLbinlog工具,可以清晰的查看到每条语句的文本 。主从复制的时候,从库(slave)会将日志解析为原文本,并在从库重新执行一次 。
ROW
该日志格式在日志文件中记录的是每一行的数据变更,而不是记录SQL语句 。比如,执行SQL语句 :update tb_book set status = ‘1’,如果是STATEMENT日志格式,在日志中会记录一行SQL文件;如果是ROW,由于是对全表进行更新,也就是每一行记录都会发生变更,ROW格式的日志中会记录每一行的数据变更 。
MIXED
这是目前MySQL默认的日志格式,即混合了STATEMENT和ROW两种格式 。默认情况下采用STATEMENT,但是在一些特殊情况下采用ROW来进行记录 。MIXED格式能尽量利用两种模式的优点,而避开他们的缺点 。
2.2.3 日志读取
由于日志以二进制方式存储,不能直接读取,需要用mysqlbinlog工具来查看,语法如下 :
mysqlbinlog log-file;
查看STATEMENT格式日志 :
查看日志文件 :默认在/var/lib/mysql目录下
文章插图
mysqlbin.index : 该文件是日志索引文件,记录日志的文件名;
mysqlbing.000001 : 日志文件
查看日志内容 :
mysqlbinlog mysqlbing.000001;
文章插图
查看ROW格式日志
配置 :
配置开启binlog日志,日志的文件前缀为mysqlbin —》生成的文件名如:mysqlbin.000001,mysqlbin.000002
log_bin=mysqlbin
配置二进制日志的格式
binlog_format=ROW
如果日志格式是ROW,直接查看数据,是查看不懂的;可以在mysqlbinlog后面加上参数 -w
mysqbinlog -vv mysqlbin.000002
文章插图
2.2.4 日志删除
对于比较繁忙的系统,由于每天生成日志量大,这些日志如果长时间不清除,将会占用大量的磁盘空间 。下面我们将会讲解几种删除日志的常见方法:
方式1:
通过Reset Master指令删除全部binlog日志,删除之后,日志编号,将从xxxx.000001重新开始 。
查询之前,先查询下日志文件 :
文章插图
执行删除日志命令 :
Reset Master
执行之后,查看日志文件 :
文章插图
方式2:
执行指令 purge master logs to 'mysqlbin.
推荐阅读
- 详解MySQL 整表加密解决方案 keyring_file
- 玄空风水最全面解析
- 粉底液|忍痛入手专柜粉底液,却画不出高级妆感?解析不同粉底的上妆技巧
- 防重复提交解决方案!史上最全原理解析!
- mysql数据库中utf8和utf8mb4对比总结
- 详解mysql数据库是如何修改普通表为自增表?
- 如何在MySQL中快速定位慢SQL语句呢?
- 一文告诉你16条微信小程序推广渠道大全
- Mysql的并发控制原理
- 对于汽车A柱,B柱,C柱,你所不知道的作用解析。