Gtid Разница в позициях между версией MariaDB

У меня возникла проблема в нашем проекте во время обновления MariaDB с 10.2.18 до 10.2.27 в моем проекте, которая вызвала проблему во время запуска репликации базы данных.

При анализе я заметил странное поведение во время установки MariaDB с my.cnf ниже.

Я попытался воспроизвести сценарий как можно проще с помощью сценария оболочки с упрощенным файлом my.cnf ниже.

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

откуда я мог видеть разницу в выводе gtid_positions в версии 10.2.18, где первые 3 позиции равны нулю, а в версии 10.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. в то время как без собственности я не мог увидеть вышеупомянутую разницу. Сбитый с толку поведением после добавления этого свойства.

Не могли бы вы прояснить приведенное выше поведение? Почему пострадает позиция после добавления "лог-бункера"?

Или я делаю ошибку в файле my.cnf?

1 ответ

Решение

Поднят тот же вопрос, что и билет MariaDB https://jira.mariadb.org/browse/MDEV-20990

При чтении бинлога мы могли видеть, что транзакция DDL рассматривается в начале установки для MariaDB 10.2.27 (создана тестовая база данных) ... в то время как она не рассматривается в 10.2.18 MariaDB.

Согласно комментарию, да, указанная выше разница, похоже, ожидается в последней версии MariaDB из-за исправления MDEV-17640.

Решено: добавлена ​​тестовая БД для игнорирования репликации с указанным ниже свойством в файле my.cnf.

***binlog-ignore-db = test***
Другие вопросы по тегам