MariaDB 数据库突然生成大量 bin 日志文件

问题描述 投票:0回答:1

我在每个 bin 日志文件中发现了近 13830 个更新行,如下所示。但每个日志只有几个更新查询。

此命令仅显示 85 个更新查询

mysqlbinlog mysql-bin.005400 | grep -i 'Update' | grep -i '#Q> UPDATE' | wc -l

对于下面的命令,显示 13830 行,如下面的输出。

mysqlbinlog mysql-bin.005400 | grep -i 'Update' | grep -i 'Update_rows: table id' | wc -l 

日志输出:

服务器 ID 1 end_log_pos 108614456 CRC32 0xfe8e56d5 Update_rows:表 ID 49992010

这里的表id是什么?

为什么上面的输出会显示这么多?

如何根据id找到特定的表?

mariadb database-administration
1个回答
0
投票

如果二进制日志格式是ROW,则TABLE_MAP_EVENT事件将在ROWS_EVENT(包含更新/插入或删除信息)之前发送。 TABLE_MAP_EVENT 包含有关表 id 和名称的信息。

示例:

INSERT INTO test VALUES (1,2)

二进制日志显示:

#240713  8:46:59 server id 1  end_log_pos 0 CRC32 0x6f2c3407    Table_map: `test`.`t1` mapped to number 22
# at 785
#240713  8:46:59 server id 1  end_log_pos 0 CRC32 0x221bb533    Write_rows: table id 22 flags: STMT_END_F

BINLOG '
4yKSZhMBAAAALQAAAAAAAAAAABYAAAAAAAEABHRlc3QAAnQxAAEDAAEHNCxv
4yKSZhcBAAAAKwAAAAAAAAAAABYAAAAAAAEAAQH+AQAAAP4CAAAAM7UbIg==
'/*!*/;
# Number of rows: 2
© www.soinside.com 2019 - 2024. All rights reserved.