MariaDB 版本之间的 Gtid 位置差异

Gtid Position difference between MariaDB version

我在项目中将 MariaDB 从 10.2.18 升级到 10.2.27 时遇到问题,导致数据库复制启动时出现问题。

在分析时,我发现在 MariaDB 安装过程中有一个奇怪的行为 my.cnf。

我试图通过 shell 脚本和下面简化的 my.cnf 文件尽可能简单地重现场景。

[mysqld]
server-id=1
log-bin=binary-log.
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema

从那里我可以看到 gtid_positions 在 v10.2.18 中的输出差异,其中前 3 个位置为空,而在 v10.2.27 中它有 0-1-1。

代码:https://jira.mariadb.org/secure/attachment/49300/mariaTest.sh

输出:https://jira.mariadb.org/secure/attachment/49299/49299_DifferenceInPositionsBWTwoVersions.png

作为我分析的一部分,只有在我的 cnf 文件中添加 "log-bin=binary-log." 属性后,我才能看到上述差异。如果没有 属性 我看不出上面的区别。 对添加此 属性.

后的行为感到困惑

能否请您澄清上述行为?为什么添加"log-bin"后位置会受到影响?

或者我在 my.cnf 文件中做错了什么?

提出了与 MariaDB ticket 相同的问题 https://jira.mariadb.org/browse/MDEV-20990

在阅读二进制日志时,我们可以看到在开始安装 10.2.27 MariaDB(创建测试数据库)时考虑了 DDL 事务......而在 10.2.18 MariaDB 中没有考虑。

根据评论,是的,由于修复了 MDEV-17640,上述差异似乎在 MariaDB 最新版本中是预期的。

已解决: 在 my.cnf 文件

中添加了用于复制忽略的测试数据库 属性
***binlog-ignore-db = test***