当前位置:   article > 正文

39 关于 binlog 日志

39 关于 binlog 日志

前言

bin log 相关 

呵呵 记得之前是做过基于 binlog 的数据同步到的, 这里 可以来了解一下 binlog 的产生, 以及 相关更加详细的信息

说不定 之后也可以 做一个 binlog 的解析工具 

这里 来看一下 各个常见的 binlog event 的相关格式 

open-replicator 解析binlog失败 available: 4, event type: 19

关于mysql 的binlog相关的几个问题 

测试数据表如下 

  1. CREATE TABLE `tz_test` (
  2. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  3. `field1` varchar(128) DEFAULT NULL,
  4. `field2` varchar(128) DEFAULT NULL,
  5. PRIMARY KEY (`id`) USING BTREE,
  6. UNIQUE KEY `field_1_2` (`field1`,`field2`) USING BTREE
  7. ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8

测试数据如下 

配置信息如下, 这里 binlog 格式使用的是 ROW  

Query_log_event – ROW 

这个是 在 master 上面的任何 更新都会记录 Query_log_event

记录 binlog 均是在操作之后记录的, 比如这里的 Query_log_event 的调用的地方是在这里 

Query_log_event 写出数据如下 

Query_log_event 日志格式如下 

Table_map_log_event – ROW

这个是在每一个需要描述 表元数据的地方, 都需要写的 事件信息

比如这里是 写出了 Query_log_event 之后, 继续写出 Table_map_log_event

写出的方式如下, 四大主体 

Table_map_log_event 日志格式如下 

Update_rows_log_event – ROW

执行 sql 如下 

“begin;

update tz_test set field1 = 'field28' where field2 = '2';

rollback;

向 Update_rows_log_event 中填充 更新之前的记录信息, 和 更新之后的记录信息

具体的拷贝 数据记录信息到 Update_rows_log_event 中, 直接 复制数据的 binary 到 Update_rows_log_event 中 

写出 Update_rows_log_event 的地方在这里, 主要是 更新的处理之后

写出 Update_rows_log_event 同样是 这四个步骤, 子类会重写 对应的实际写出数据的函数

Update_rows_log_event 日志格式如下 

Write_rows_log_event – ROW

执行 sql 如下 

“begin;

INSERT INTO `test`.`tz_test`(`field1`, `field2`) VALUES ('field11', '11');

rollback;

将待新增记录信息 添加到 Write_rows_log_event 中 

记录 binlog 是在 sql 执行之后 

Write_rows_log_event 日志格式如下 

Delete_rows_log_event – ROW

执行 sql 如下 

“begin;

delete from tz_test where id = 2;

rollback;

记录 binlog 是在 sql 执行之后 

Delete_rows_log_event 日志格式如下 

更新 binlog 格式为 statement 

Update_rows_log_event – STATEMENT 

statement binlog 记录是基于 Query_log_event 的 

当前 binlog 日志输出信息如下 

Write_rows_log_event – STATEMENT

同上

当前 binlog 日志输出信息如下 

Delete_rows_log_event – STATEMENT

同上

 当前 binlog 日志输出信息如下 

完 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/959589
推荐阅读
相关标签
  

闽ICP备14008679号