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***
我在项目中将 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***