Найти шаблоны различий репликации mysql

Я использую pt-table-checkum и pt-table-sync, чтобы проверить различия в моих репликах. Когда я использую pt-table-sync с опцией -print, я вижу только основные значения.

Как я могу показать конфликтующие значения рабов? Я хочу посмотреть, смогу ли я найти шаблон, по которому происходят эти различия.

1 ответ

Использование pt-table-sync с этими параметрами

  • --print
  • --sync-to-master

сообщит об изменениях SQL для выполнения на подчиненном устройстве, чтобы подчиненное устройство соответствовало главному.

Мастер просто связан для целей сравнения.

В документации Percona по --print указано:

Распечатайте запросы, которые разрешат различия.

Если вы не доверяете pt-table-sync или просто хотите посмотреть, что он будет делать, это хороший способ быть в безопасности. Эти запросы являются действительными SQL, и вы можете запустить их самостоятельно, если вы хотите синхронизировать таблицы вручную.

Для акцента: не выполнять вывод --print А ТАКЖЕ --sync-to-master на мастера. Выполните это только на Рабе.

Если вы используете круговую репликацию, сделайте это

echo "SET SQL_LOG_BIN = 0;" > ChangesToSlave.sql
pt-table-sync --print --sync-to-master ... >> ChangesToSlave.sql

тогда вы можете запустить ChangesToSlave.sql на Рабе.

Другие вопросы по тегам