mysql - Mysql 基于行的二进制日志记录在某些版本的 mysql 中表现不同(行分组)
问题描述
在某些版本的 mysql 中对行更改进行分组时,Mysql 基于行的二进制日志记录似乎具有不同的行为。
假设以下语句更新了三行:
UPDATE table_name SET a=1 WHERE id IN (1, 2, 3);
在 mysql5.7.21
中:二进制日志只接收一个包含 3 个寄存器更改的日志。(这是我想要的行为)
但是,在 mysql5.7.11
和 mysql中测试时5.7.26
,相同的语句会产生三个单独的日志。它们中的每一个都包含每个更改的行。
我检查了系统变量,至少与二进制日志相关的变量似乎完全相同。
我们检查了--binlog-row-event-max-size
可能导致问题的启动变量。因为我们表中的行可能大于默认的 8KB。但是,我们无法设置此变量。因为我们在 Amazon RDS 中工作。(我们该怎么做?)
是否有其他变量可能导致这种行为?
解决方案
推荐阅读
- python - 将参数传递给组合函数的最内层调用
- sql - 如何将一个表中的几列插入到另一个只有 1 列唯一/不同的列?
- firebase - 从firebase客户端sdk获取user_pseudo_id?
- java - 在 Java 中创建 WebSocket 服务器
- c# - 当表单中引用的类的属性发生更改时,如何调用表单中的方法?
- python - 根据值向 DataFrame 添加行
- javascript - Webpack 块不会在部署时重新加载
- excel - “编译错误:变量尚未定义”使用调用函数
- python - 只能从一个目录运行我的 copy_files.py
- mysql - 如何按天选择少于特定时间组的今天和明天数据?