首页 > 解决方案 > MariaDB 版本之间的 Gtid 位置差异

问题描述

在我的项目中将 MariaDB 从 10.2.18 升级到 10.2.27 的过程中,我的项目中遇到了问题,这在数据库复制的启动过程中导致了问题。

在分析中,我可以在下面的 my.cnf 中看到 MariaDB 安装期间的奇怪行为。

我尝试通过带有以下简化 my.cnf 文件的 shell 脚本尽可能简单地重现该场景。

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

从那里我可以看到 v10.2.18 中 gtid_positions 输出的差异,其中前 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

作为我分析的一部分,我只有在添加“log-bin=binary-log”后才能看到上述差异。我的 cnf 文件中的属性。虽然没有财产,但我看不到上述差异。添加此属性后对行为感到困惑。

你能澄清一下上述行为吗?为什么添加“log-bin”后位置会受到影响?

或者我在 my.cnf 文件中有什么错误吗?

标签: mysqlmy.cnf

解决方案


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

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

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

已解决:在 my.cnf 文件中使用以下属性添加了用于复制忽略的测试数据库

***binlog-ignore-db = test***

推荐阅读