Innodb Cluster 入门(2) Mysql二进制日志

来源:互联网 发布:淘宝哪家鞋子质量好 编辑:程序博客网 时间:2024/05/21 05:20

Mysql Binary Log

Binary Log类型
•Statement-based logging: Events contain SQL statements that produce data changes (inserts, updates, deletes)
•Row-based logging: Events describe changes to individual rows
•Mixed logging uses statement-based logging by default but switches to row-based logging automatically as necessary
•Row-based(and mixed) logging is available beginning with MySQL 5.1

Statement-based Format 优势
•1.这是经过验证的技术
•2.日志数据量比较小
•3.日志可以在sql语句级别审查数据库的变化

Statement-based Format 缺陷
•1.对于依赖用户定义函数的sql语句或存储过程,如果该函数或存储过程所返回的值是不确定的,那么基于语句的日志在不同的数据库服务器上执行其结果不同。
•2.对于依赖返回值不确定的mysql函数的sql语句,上述问题同样存在。

Row-based Format优势
•对于数据库的一切变化都如实记载,并且在任何服务器上无论执行几次,其结果都相同。

Row-based Format 缺陷
•1.日志数据量比较大,特别是对于BLOB等大字段的变化,需要记录全部大字段的数据。
•2.无法查看用户原始sql语句。但是可以查看所改变的数据。

Mixed Format
•1.大多数情况下,使用Statement-based Format记录日志。
•2.对于不安全的sql语句,也就是重复执行结果不确定的sql语句,使用Row-based Format记录日志。

Binary Log Structure
•1.所有的日志文件以1个4字节的固定整数开头:0xfe 0x62 0x69 0x6e
•2.字节序:x86 CPU是little Endian
•3.在文件签名之后的是一系列event
•4.第1个event总是对这个日志文件版本的描述
•5.最后1个event总是告知下1个连续日志的文件名。
•6.索引文件记录了当前日志的文件名。

Event结构
这里写图片描述

BinaryLog v1
•v1:Used in MySQL 3.23
这里写图片描述

BinaryLog v3
•v3:Used in MySQL 4.0.2 though 4.1
这里写图片描述

Binary Log v4
v4: Used in MySQL 5.0 and up
这里写图片描述

Mysql备份
•mysqldump [arguments] > file_name
•mysql [arguments] < file_name

BinaryLog 备份
•对于Statement-based logging :
mysqlbinlog bin_log_file_name >file_name
•对于Row-based logging:
mysqlbinlog bin_log_file_name -vv–base64 -output=decode-rows> file_name
•mysqlbinlog –start-position=x –stop-position=y bin_log_file_name | mysql [arguments]

原创粉丝点击