show binlog events
Binlog show Events
2023-09-27 14:26:37 时间
用于在二进制日志中显示事件。如果您不指定’log_name’,则显示第一个二进制日志。
LIMIT子句和SELECT语句具有相同的语法。
实验:
mysql show binlog events\G; *************************** 1. row *************************** Log_name: mysql-bin.000001 Pos: 4 Event_type: Format_desc Server_id: 1 End_log_pos: 107 Info: Server ver: 5.5.49-log, Binlog ver: 4 *************************** 2. row *************************** Log_name: mysql-bin.000001 Pos: 107 Event_type: Query Server_id: 1 End_log_pos: 276 Info: grant replication slave,replication client on *.* to repl@192.168.% identified by beijing *************************** 3. row *************************** Log_name: mysql-bin.000001 Pos: 276 Event_type: Rotate Server_id: 1 End_log_pos: 319 Info: mysql-bin.000002;pos=4 3 rows in set (0.00 sec)
找到当前binlog,因为之前的语句中有flush logs,所以执行的命令记录在上一个日志中
mysql show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000007 | 107 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) mysql show binlog events in mysql-bin.000006\G; ...... Log_name: mysql-bin.000006 Pos: 623 Event_type: Query Server_id: 1 End_log_pos: 708 Info: create database miles *************************** 7. row *************************** Log_name: mysql-bin.000006 Pos: 708 Event_type: Query Server_id: 1 End_log_pos: 800 Info: use `miles`; create table tbl (test TEXT) *************************** 8. row *************************** Log_name: mysql-bin.000006 Pos: 800 Event_type: Query Server_id: 1 End_log_pos: 869 Info: BEGIN *************************** 9. row *************************** Log_name: mysql-bin.000006 Pos: 869 Event_type: Query Server_id: 1 End_log_pos: 971 Info: use `miles`; insert into tbl values ("hello,Miles") *************************** 10. row *************************** Log_name: mysql-bin.000006 Pos: 971 Event_type: Xid Server_id: 1 End_log_pos: 998 Info: COMMIT /* xid=1992 */ *************************** 11. row *************************** Log_name: mysql-bin.000006 Pos: 998 Event_type: Rotate Server_id: 1 End_log_pos: 1041 Info: mysql-bin.000007;pos=4 11 rows in set (0.00 sec)
级联slave的延迟计算和query event exe time获取方法 一、级联时间计算方式 比如A- B- C那么C的延迟是计算B还是A的。因为Event的中timestamp没变,但是C计算时间差值却是以B为准。如果时钟同步的情况下,其实基本可以考虑为A的。计算方法可以参考我的《深入理解MySQL主从原理》专栏 逻辑如下: 级联中的Event依然是主库的时间,因此其延迟还是相对主库而言。
深入理解MySQL 5.7 GTID系列(七)binlog_gtid_simple_recovery参数的影响总结 想了想还是专门开了一节来总结这个问题: 5.7.6以下中默认 simplified_binlog_gtid_recovery=flase 5.7.6以上中默认 binlog_gtid_simple_recovery=true 默认值就是最合理的设置。
深入理解MySQL 5.7 GTID系列(四):mysql.gtid_executed&PREVIOUS GTID EVENT 之所以把MySQL.GTID_EXECUTED表的作用和PREVIOUS GTID EVENT的改变放到一起进行描述是因为它们后面文章探讨的基础。这部分使用到了我自己使用C语言写的原生BINLOG解析工具INFOBIN。