美文网首页
查看binlog日志

查看binlog日志

作者: 王某某的笔记 | 来源:发表于2020-09-10 10:25 被阅读0次

2018年9月

mysqlbinlog

使用mysqlbinlog 命令查看

常用选项:

  • --start-position=953 起始pos点
  • --stop-position=1437 结束pos点
  • --start-datetime="2013-11-29 13:18:54" 起始时间点
  • --stop-datetime="2013-11-29 13:21:53" 结束时间点

如:

进入到binlog目录执行,指定具体的binlog文件名

# 从指定的时间开始查
$ mysqlbinlog mysql-bin.001575 --start-datetime="2018-09-25 11:25:54"

# 从指定位置开始查
$ mysqlbinlog mysql-bin.001575 --start-position=16839697

默认只能查看到base-64编码的信息
如:

# at 22452867
#180925 11:44:02 server id 8  end_log_pos 22452944 CRC32 0xc23d3641     Table_map: `base`.`by_renew_history` mapped to number 182
# at 22452944
#180925 11:44:02 server id 8  end_log_pos 22453106 CRC32 0x7a809e4e     Update_rows: table id 182 flags: STMT_END_F

BINLOG '
Aq+pWxMIAAAATQAAANCaVgEAALYAAAAAAAEABGJhc2UAEGJ5X3JlbmV3X2hpc3RvcnkACwMPAw8S
ARIDEgMDB5YAWgAAAAD+B0E2PcI=
Aq+pWx8IAAAAogAAAHKbVgEAALYAAAAAAAEAAgAL/////wD+igAAAA4yMDE4MDcyNTE2MzcyNugD
AAAQMTExMTExMTExMDExMTExNJmgcwlbAZmgcwlbAwAAAJmgcwlaAP6KAAAADjIwMTgwNzI1MTYz
NzI26AMAABAxMTExMTExMTEwMTExMTEzmaBzCVsBmaBzCVsDAAAAmaBzCVpOnoB6
'/*!*/;
# at 22453106
#180925 11:44:02 server id 8  end_log_pos 22453137 CRC32 0x3787881e     Xid = 8121164
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*/;

此时需要 --base64-output=value 选项

此选项确定何时应使用BINLOG语句将事件编码为base-64字符串。该选项具有以下允许值(不区分大小写):

  • AUTO (“自动”)或UNSPEC(“未指定”)在必要时自动显示BINLOG语句(即,用于格式描述事件和行事件)。如果没有给出--base64-output选项,则效果与--base64-output = AUTO相同。

  • NEVER 不显示BINLOG语句

  • DECODE-ROWS 通过配合--verbose选项将行事件解码并显示为注释的SQL语句。


使用参数--verbose(或-v),将生成带注释的语句,如果使用两次这个参数(如-v -v),会生成字段的类型、长度、是否为null等属性信息。

如:

$ mysqlbinlog -v --base64-output=DECODE-ROWS mysql-bin.001576 --start-datetime="2018-09-25 13:41:30"

输出:

# at 1664232
#180925 13:42:02 server id 8  end_log_pos 1664309 CRC32 0x28bbcc7e      Table_map: `base`.`by_renew_history` mapped to number 182
# at 1664309
#180925 13:42:02 server id 8  end_log_pos 1664471 CRC32 0xca13320e      Update_rows: table id 182 flags: STMT_END_F
### UPDATE `base`.`by_renew_history`
### WHERE
###   @1=138
###   @2='20180725163726'
###   @3=1000
###   @4='1111111110111113'
###   @5='2018-07-25 16:37:27'
###   @6=1
###   @7='2018-07-25 16:37:27'
###   @8=3
###   @9='2018-07-25 16:37:26'
###   @10=NULL
###   @11=NULL
### SET
###   @1=138
###   @2='20180725163726'
###   @3=1000
###   @4='1111111110111114'
###   @5='2018-07-25 16:37:27'
###   @6=1
###   @7='2018-07-25 16:37:27'
###   @8=3
###   @9='2018-07-25 16:37:26'
###   @10=NULL
###   @11=NULL
# at 1664471
#180925 13:42:02 server id 8  end_log_pos 1664502 CRC32 0xb64f6d4f      Xid = 8266920
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*/;
mysqlbinlog -v -v --base64-output=DECODE-ROWS mysql-bin.001576 --start-datetime="2018-09-25 13:41:30"

输出:

# at 1899587
#180925 13:44:02 server id 8  end_log_pos 1899664 CRC32 0x7fff0312      Table_map: `base`.`by_renew_history` mapped to number 182
# at 1899664
#180925 13:44:02 server id 8  end_log_pos 1899826 CRC32 0x5cdb92c1      Update_rows: table id 182 flags: STMT_END_F
### UPDATE `base`.`by_renew_history`
### WHERE
###   @1=138 /* INT meta=0 nullable=0 is_null=0 */
###   @2='20180725163726' /* VARSTRING(150) meta=150 nullable=1 is_null=0 */
###   @3=1000 /* INT meta=0 nullable=1 is_null=0 */
###   @4='1111111110111114' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @5='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
###   @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */
###   @7='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
###   @8=3 /* INT meta=0 nullable=1 is_null=0 */
###   @9='2018-07-25 16:37:26' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
###   @10=NULL /* INT meta=0 nullable=1 is_null=1 */
###   @11=NULL /* INT meta=0 nullable=1 is_null=1 */
### SET
###   @1=138 /* INT meta=0 nullable=0 is_null=0 */
###   @2='20180725163726' /* VARSTRING(150) meta=150 nullable=1 is_null=0 */
###   @3=1000 /* INT meta=0 nullable=1 is_null=0 */
###   @4='1111111110111113' /* VARSTRING(90) meta=90 nullable=1 is_null=0 */
###   @5='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
###   @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */
###   @7='2018-07-25 16:37:27' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
###   @8=3 /* INT meta=0 nullable=1 is_null=0 */
###   @9='2018-07-25 16:37:26' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
###   @10=NULL /* INT meta=0 nullable=1 is_null=1 */
###   @11=NULL /* INT meta=0 nullable=1 is_null=1 */
# at 1899826
#180925 13:44:02 server id 8  end_log_pos 1899857 CRC32 0xc1b4c0c7      Xid = 8297691
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*/;

相关文章

  • 解析binlog 常用命令

    一、MySQL命令(sql) 查看是否开启binlog 查看binlog存放位置 查看binlog日志列表 二、使...

  • MySQL搭建主从复制

    1.1 主从复制原理 1.2 binlog介绍和relay日志 查看binlog日志: mysql****bin...

  • mysql 二进制日志文件相关操作

    一、MySQL Binlog日志文件相关操作 1.1、登录到mysql查看binlog 只查看第一个binlog文...

  • mysql 开启binlog

    先登录mysql,查看看binlog日志是否开启 开启binlog日志: 退出当前sql指令: 在my.cnf文件...

  • mysql查看binlog日志详解

    1. 查看binlog日志是否开启 mysql默认是不开启binlog日志的,需要手动打开 可以看到log.bin...

  • 查看binlog日志

    2018年9月 mysqlbinlog 使用mysqlbinlog 命令查看 常用选项: --start-posi...

  • mysqlbinlog日志

    1、显示mysqlbinlog日志是否开启,以及存储位置 2、查看所有binlog日志列表 3、查看master状...

  • MySQL 生产常用命令

    1. 查询正在进行的事务 2. 关闭进程 3. 查看 binlog 相关信息 1. 查看 binlog 日志 2....

  • MySQL-lesson06-日志管理

    1.错误日志(log_error) 1.1 作用 1.2 错误日志配置 1.3 日志内容查看 2. binlog(...

  • 清理mysql bin-log二进制日志文件

    1.查看binlog日志 2、删除某个日志文件之前的所有日志文件 3、重置所有日志 日志文件编号又从000001开...

网友评论

      本文标题:查看binlog日志

      本文链接:https://www.haomeiwen.com/subject/qeguektx.html