我做服装设计师的 求推荐资源网站,外贸网站如何做免费推广,杭州做网站哪里好,网络营销的12种手段binlogMysql Binlog是二进制格式的日志文件#xff0c;用来记录Mysql内部对数据库的改动(只记录对数据的修改操作)#xff0c;主要用于数据库的主从复制以及增量恢复。获取binlog日志列表MariaDB [examples] show master logs;----------------------| Log_name | File_s…binlogMysql Binlog是二进制格式的日志文件用来记录Mysql内部对数据库的改动(只记录对数据的修改操作)主要用于数据库的主从复制以及增量恢复。获取binlog日志列表MariaDB [examples] show master logs;----------------------| Log_name | File_size |----------------------| ON.000001 | 9893 |----------------------可知当前只有一个binlog文件ON.000001MariaDB [examples] show binary logs;----------------------| Log_name | File_size |----------------------| ON.000001 | 9893 |----------------------1 row in set (0.134 sec)查看examples.prefix的表结构MariaDB [examples] show create table prefix \G;*************************** 1. row ***************************Table: prefixCreate Table: CREATE TABLE prefix (a int(10) NOT NULL,b int(10) NOT NULL,c int(10) NOT NULL,KEY I_index (a,b,c)) ENGINEInnoDB DEFAULT CHARSETutf8对全表进行更新操作MariaDB [examples] update prefix set ba101;Query OK, 32 rows affected (0.201 sec)Rows matched: 32 Changed: 32 Warnings: 0可以看到有32条数据发生了更新查看binlog(也可以在日志文件目录通过mysqlbinlog ON.000001命令查看)MariaDB [(none)] show binlog events in ON.000001 \G;.........*************************** 108. row ***************************Log_name: ON.000001Pos: 9893Event_type: GtidServer_id: 1End_log_pos: 9935Info: BEGIN GTID 0-1-48*************************** 109. row ***************************Log_name: ON.000001Pos: 9935Event_type: QueryServer_id: 1End_log_pos: 10031Info: use examples; update prefix set ba101*************************** 110. row ***************************Log_name: ON.000001Pos: 10031Event_type: XidServer_id: 1End_log_pos: 10062Info: COMMIT /* xid883 */有很多条记录本次更新操作增加了这三条数据其中第109是我们显示执行的SQL而第108与109条是事务的开始与结束。关于Xid:Binlog::GTID_EVENT:A global transaction identifier (GTID)开启事务Binlog::QUERY_EVENT:The query event is used to send text querys right the binlog.mysql中createinsertupdatedelete的Event_type均为Query类型初看觉得很奇怪这里只是类型定义而已。Binlog::XID_EVENT:Transaction ID for 2PC, written whenever a COMMIT is expected.提交事务看看官方对各个字段的解释Log_nameThe name of the file that is being listed.PosThe position at which the event occurs.Event_typeAn identifier that describes the event type.Server_idThe server ID of the server on which the event originated.End_log_posThe position at which the next event begins, which is equal to Pos plus the size of the event.InfoMore detailed information about the event type. The format of this information depends on the event type.redo logThe redo log is a disk-based data structure used during crash recovery to correct data written by incomplete transactions关于redo log文件名前缀为ib_logfile, 尝试用mysqlbinlog读取mysqlbinlog ib_logfile1/*!50530 SET SESSION.PSEUDO_SLAVE_MODE1*/;/*!40019 SET session.max_insert_delayed_threads0*/;/*!50003 SET OLD_COMPLETION_TYPECOMPLETION_TYPE,COMPLETION_TYPE0*/;DELIMITER /*!*/;ERROR: File is not a binary log file.google一圈目前尚没发现有可以解析该类文件的工具只能从文档中了解其具体结构。后面有时间研究下源码写个ib_logfile的解析器玩玩参考