【文档】二、Binlog结构和内容概述

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

binlog是一系列文件,这些文件包含了Mysql服务实例中数据的变化。

  • binlog包含一系列二进制日志文件,还包含一个索引文件。
  • 每个日志文件包含了一个4字节的魔法数,后面跟着描述数据变化的事件内容。

    • 魔法数字可以是0xfe 0x62 0x69 0x6e=0xfe 'b''i''n'(这是在log_event.h中定义的BINLOG_MAGIC常量)
    • 每个事件包含了事件头字节,后面跟着事件数据字节。

      • 事件头字节包含了事件类型、事件发生的时间、服务器信息等等。
      • 事件数据字节包含了事件类型的详细信息,例如特定的数据改变。
    • 第一个时间是个描述事件,描述了这个文件的格式版本(也就是这个文件中记录事件的格式)
    • 剩余的事件是根据版本来进行解释的
    • 最后的事件是轮换事件,描述了下个binlog的文件名
  • 索引文件是一个文本文件,列出了当前的binlog文件。

日志文件是以.NNNNNN结尾的。索引文件以.index结尾。所有的文件有个相同的前缀。默认的binlog文件的前缀名是“HOSTNAME-bin”。relay 日志文件的命名类似,只不过文件的前缀是“HOSTNAME-relay”。

...
HOSTNAME-bin.0000101
HOSTNAME-bin.0000102
HOSTNAME-bin.0000103
...
HOSTNAME-bin.index
...
HOSTNAME-relay.0000101
HOSTNAME-relay.0000102
HOSTNAME-relay.0000103
...
HOSTNAME-relay.index
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
关系型数据库 MySQL
|
SQL 存储 关系型数据库
【文档】一、Mysql BinLog概述
Binlog是一系列日志文件,他们包含的内容是Mysql数据内容的改变。如果想开启binlog功能,需要在启动时带上--log-bin参数。 binlog是从Mysql3.23.14版本开始的。它包含所有更新数据的sql语句。
1507 0
|
2月前
|
canal 消息中间件 关系型数据库
Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
【9月更文挑战第1天】Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
697 4
|
3月前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
404 2
|
3月前
|
SQL 关系型数据库 MySQL
【MySQL】根据binlog日志获取回滚sql的一个开发思路
【MySQL】根据binlog日志获取回滚sql的一个开发思路
|
18天前
|
存储 SQL 关系型数据库
mysql 的ReLog和BinLog区别
MySQL中的重做日志(Redo Log)和二进制日志(Binary Log)是两种重要的日志系统。重做日志主要用于保证事务的持久性和原子性,通过记录数据页的物理修改信息来恢复未提交的事务更改。二进制日志则记录了数据库的所有逻辑变化操作,用于数据的复制、恢复和审计。两者在写入时机、存储方式、配置参数和使用范围上有所不同,共同确保了数据库的稳定性和可靠性。