mysql解析二进制日志_mysql关于二进制日志binary log的总结

总结

1、binary log记录的是

已经提交commit

的各种DML和DDL语句,类似oracle的redo log(包含online redo log和archive redo log)中已经commit提交的数据

statement 格式的 binlog,最后会有 COMMIT;

row 格式的 binlog,最后会有一个 XID event;

2、binary log用于

主从复制

基于时间点的恢复

3、在MySQL 5.7.3及其以后的版本中,若想开启二进制日志,除了log-bin参数外还必须加上server_id参数。否则会有如下报错

[ERROR] You have enabled the binary log, but you haven't provided the mandatory server-id.

4、purge binary logs时,磁盘上的物理文件也一并删除了

5、binary log日志格式,可以简单认为就是执行过的事务中的sql语句。但又不完全是sql语句这么简单,而是执行的sql语句(增删改)及反向的信息,比如delete对应着delete本身和其反向的insert。使用mysqlbinlog解析binlog可以看到

6、binary log产生时间,事务提交的时候,一次性将事务中的sql语句(一个事物可能对应多个sql语句)按照一定的格式记录到binlog中

7、binlog的保持时间由参数expire_logs_days配置,也就是说对于非活动的日志文件,在生成时间超过expire_logs_days配置的天数之后,会被自动删除。

8、查看binary log的内容可以使用以下两种方式

mysqlbinlog mysql-bin.000002

mysql> show binlog events in 'mysql-bin.000002';

mysql> show binlog events in 'mysql-bin.00002' from 504769752 limit 30,30;

mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];

选项解析:

IN 'log_name'   指定要查询的binlog文件名(不指定就是第一个binlog文件)

FROM pos        指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)

LIMIT [offset,] 偏移量(不指定就是0)

row_count       查询总条数(不指定就是所有行)

涉及参数

log_bin

:是否开启binary log

log_bin_basename

:binary log文件的存放路径和名称

log_bin_index

:binary log索引文件的存放路径和名称

expire_logs_days

:自动删除几天以前的binary log文件

innodb_page_size

:InnoDB表空间的页面大小,默认16K

sync_binlog

:MySQL服务器将二进制日志同步到磁盘的频率,即写日志的同时是否写入磁盘,

此处写磁盘不是写表的数据文件,而是写mysql-bin.00000X日志文件

By default is set to 0, meaning that there is no delay

When sync_binlog is set to a value n greater than 1, the delay is applied after every n binary log commit groups.

binlog_group_commit_sync_delay

:二进制日志提交后需要等待多少微秒才能把二进制日志文件同步到磁盘,5.7.5默认是0,表示立即写

https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_binary_log

binary log

A file containing a record of all statements that attempt to change table data. These statements can be replayed to bring slave servers up to date in a replication scenario, or to bring a database up to date after restoring table data from a backup. The binary logging featur

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值