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***