ITPub博客

首页 > 数据库 > MySQL > MySQL binlog日志内容分析

MySQL binlog日志内容分析

原创 MySQL 作者:DBA_每日记 时间:2019-11-21 09:19:07 0 删除 编辑

1> MySQL的binlog 日志对于生产环境非常有用,任何时间对数据库的修改都会记录在binglog中;

当数据发生增删改,创建数据库对象都会记录到binlog中,数据库的复制也是基于binlog进行同步数据;

和SQL SERVER 数据库开启完整模式的原理一样,每一次的数据的变动都会记录在案;(对数据库的select,show这些操作不会记录在binlog)


下面介绍mysqlbinlog工具查看 二进制日志内容;


示例

1> 产生新的binlog日志  flush logs


1> 测试数据


create table test1 (id int);

insert into test1 values (1);

insert into test1 values (2);

insert into test1 values (3);

delete from test1 where id=2;



2> 最新的binlog   mysqlbinlog.000012


[root@localhost][(none)]> show binlog events in 'mysqlbinlog.000012';

+--------------------+------+----------------+-----------+-------------+-----------------------------------------------------------------------+

| Log_name           | Pos  | Event_type     | Server_id | End_log_pos | Info                                                                  |

+--------------------+------+----------------+-----------+-------------+-----------------------------------------------------------------------+

| mysqlbinlog.000012 |    4 | Format_desc    |         1 |         123 | Server ver: 5.7.25-log, Binlog ver: 4                                 |

| mysqlbinlog.000012 |  123 | Previous_gtids |         1 |         194 | 6e854266-e13f-11e9-9630-000c29ec17fe:8-40225                          |

| mysqlbinlog.000012 |  194 | Gtid           |         1 |         259 | SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40226' |

| mysqlbinlog.000012 |  259 | Query          |         1 |         334 | BEGIN                                                                 |

| mysqlbinlog.000012 |  334 | Rows_query     |         1 |         386 | # insert into test1 values (1)                                        |

| mysqlbinlog.000012 |  386 | Table_map      |         1 |         437 | table_id: 111 (ecology.test1)                                         |

| mysqlbinlog.000012 |  437 | Write_rows     |         1 |         477 | table_id: 111 flags: STMT_END_F                                       |

| mysqlbinlog.000012 |  477 | Xid            |         1 |         508 | COMMIT /* xid=24229 */                                                |

| mysqlbinlog.000012 |  508 | Gtid           |         1 |         573 | SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40227' |

| mysqlbinlog.000012 |  573 | Query          |         1 |         648 | BEGIN                                                                 |

| mysqlbinlog.000012 |  648 | Rows_query     |         1 |         700 | # insert into test1 values (2)                                        |

| mysqlbinlog.000012 |  700 | Table_map      |         1 |         751 | table_id: 111 (ecology.test1)                                         |

| mysqlbinlog.000012 |  751 | Write_rows     |         1 |         791 | table_id: 111 flags: STMT_END_F                                       |

| mysqlbinlog.000012 |  791 | Xid            |         1 |         822 | COMMIT /* xid=24230 */                                                |

| mysqlbinlog.000012 |  822 | Gtid           |         1 |         887 | SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40228' |

| mysqlbinlog.000012 |  887 | Query          |         1 |         962 | BEGIN                                                                 |

| mysqlbinlog.000012 |  962 | Rows_query     |         1 |        1014 | # insert into test1 values (3)                                        |

| mysqlbinlog.000012 | 1014 | Table_map      |         1 |        1065 | table_id: 111 (ecology.test1)                                         |

| mysqlbinlog.000012 | 1065 | Write_rows     |         1 |        1105 | table_id: 111 flags: STMT_END_F                                       |

| mysqlbinlog.000012 | 1105 | Xid            |         1 |        1136 | COMMIT /* xid=24231 */                                                |

| mysqlbinlog.000012 | 1136 | Gtid           |         1 |        1201 | SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40229' |

| mysqlbinlog.000012 | 1201 | Query          |         1 |        1276 | BEGIN                                                                 |

| mysqlbinlog.000012 | 1276 | Rows_query     |         1 |        1329 | # delete from test1 where id =2                                       |

| mysqlbinlog.000012 | 1329 | Table_map      |         1 |        1380 | table_id: 111 (ecology.test1)                                         |

| mysqlbinlog.000012 | 1380 | Delete_rows    |         1 |        1420 | table_id: 111 flags: STMT_END_F                                       |

| mysqlbinlog.000012 | 1420 | Xid            |         1 |        1451 | COMMIT /* xid=24234 */                                                |

+--------------------+------+----------------+-----------+-------------+-----------------------------------------------------------------------+


3> 用mysqlbinlog 工具查看

[mysql@mysql mysqlbinlog]$ which mysqlbinlog

/mysql/mysql57/bin/mysqlbinlog


所有的内容全部转换

mysqlbinlog --base64-output=decode-rows -v mysqlbinlog.000012 > mysqlbinlog.000012.sql


也可以筛选时间

mysqlbinlog --no-defaults --database=ecology  --base64-output=decode-rows -v --start-datetime='2019-11-19 00:00:00' --stop-datetime='2019-11-19 15:00:00'  mysqlbinlog.000012 | more


如下

[mysql@mysql mysqlbinlog]$ cat mysqlbinlog.000012.sql 

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;

/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;

DELIMITER /*!*/;

# at 4

#191119  3:41:22 server id 1  end_log_pos 123 CRC32 0xece7d88c  Start: binlog v 4, server v 5.7.25-log created 191119  3:41:22

# Warning: this binlog is either in use or was not closed properly.

# at 123

#191119  3:41:22 server id 1  end_log_pos 194 CRC32 0x5061dfbc  Previous-GTIDs

# 6e854266-e13f-11e9-9630-000c29ec17fe:8-40225

# at 194

#191119  3:42:07 server id 1  end_log_pos 259 CRC32 0xec2ec1b9  GTID    last_committed=0sequence_number=1        rbr_only=yes

/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;

SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40226'/*!*/;

# at 259

#191119  3:42:07 server id 1  end_log_pos 334 CRC32 0x9bc6ec1d  Query   thread_id=2011  exec_time=0      error_code=0

SET TIMESTAMP=1574163727/*!*/;

SET @@session.pseudo_thread_id=2011/*!*/;

SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;

SET @@session.sql_mode=1436549120/*!*/;

SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;

/*!\C utf8 *//*!*/;

SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=45/*!*/;

SET @@session.lc_time_names=0/*!*/;

SET @@session.collation_database=DEFAULT/*!*/;

BEGIN

/*!*/;

# at 334

# at 386

#191119  3:42:07 server id 1  end_log_pos 437 CRC32 0xf0b1b42a  Table_map: `ecology`.`test1` mapped to number 111

# at 437

#191119  3:42:07 server id 1  end_log_pos 477 CRC32 0x0a785505  Write_rows: table id 111 flags: STMT_END_F

### INSERT INTO `ecology`.`test1`

### SET

###   @1=1

# at 477

#191119  3:42:07 server id 1  end_log_pos 508 CRC32 0x22330a62  Xid = 24229

COMMIT/*!*/;

# at 508

#191119  3:42:11 server id 1  end_log_pos 573 CRC32 0x1a4a0ef6  GTID    last_committed=1sequence_number=2        rbr_only=yes

/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;

SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40227'/*!*/;

# at 573

#191119  3:42:11 server id 1  end_log_pos 648 CRC32 0xaa2c2f1c  Query   thread_id=2011  exec_time=0      error_code=0

SET TIMESTAMP=1574163731/*!*/;

BEGIN

/*!*/;

# at 648

# at 700

#191119  3:42:11 server id 1  end_log_pos 751 CRC32 0x0c3582e7  Table_map: `ecology`.`test1` mapped to number 111

# at 751

#191119  3:42:11 server id 1  end_log_pos 791 CRC32 0x7c5d0311  Write_rows: table id 111 flags: STMT_END_F

### INSERT INTO `ecology`.`test1`

### SET

###   @1=2

# at 791

#191119  3:42:11 server id 1  end_log_pos 822 CRC32 0x21aa6cd8  Xid = 24230

COMMIT/*!*/;

# at 822

#191119  3:42:14 server id 1  end_log_pos 887 CRC32 0x28978885  GTID    last_committed=2sequence_number=3        rbr_only=yes

/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;

SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40228'/*!*/;

# at 887

#191119  3:42:14 server id 1  end_log_pos 962 CRC32 0x1eb58956  Query   thread_id=2011  exec_time=0      error_code=0

SET TIMESTAMP=1574163734/*!*/;

BEGIN

/*!*/;

# at 962

# at 1014

#191119  3:42:14 server id 1  end_log_pos 1065 CRC32 0x16e28b1c         Table_map: `ecology`.`test1` mapped to number 111

# at 1065

#191119  3:42:14 server id 1  end_log_pos 1105 CRC32 0xe418bd7c         Write_rows: table id 111 flags: STMT_END_F

### INSERT INTO `ecology`.`test1`

### SET

###   @1=3

# at 1105

#191119  3:42:14 server id 1  end_log_pos 1136 CRC32 0x26c5a65d         Xid = 24231

COMMIT/*!*/;

# at 1136

#191119  3:42:53 server id 1  end_log_pos 1201 CRC32 0xb302f8f8         GTID    last_committed=3 sequence_number=4       rbr_only=yes

/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;

SET @@SESSION.GTID_NEXT= '6e854266-e13f-11e9-9630-000c29ec17fe:40229'/*!*/;

# at 1201

#191119  3:42:53 server id 1  end_log_pos 1276 CRC32 0x068cf9e9         Query   thread_id=2011   exec_time=0     error_code=0

SET TIMESTAMP=1574163773/*!*/;

BEGIN

/*!*/;

# at 1276

# at 1329

#191119  3:42:53 server id 1  end_log_pos 1380 CRC32 0xfbcaff53         Table_map: `ecology`.`test1` mapped to number 111

# at 1380

#191119  3:42:53 server id 1  end_log_pos 1420 CRC32 0x5f3583dd         Delete_rows: table id 111 flags: STMT_END_F

### DELETE FROM `ecology`.`test1`

### WHERE

###   @1=2

# at 1420

#191119  3:42:53 server id 1  end_log_pos 1451 CRC32 0x46e9d878         Xid = 24234

COMMIT/*!*/;

SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;

DELIMITER ;

# End of log file

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69950231/viewspace-2665078/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
聚焦人文和技术,分享干货,共同成长

注册时间:2019-10-09

  • 博文量
    177
  • 访问量
    238544