Частичные данные отсутствуют в mysql новом ведомом устройстве - PullRequest
0 голосов
/ 23 февраля 2020

Я настроил кластер репликации MySQL, в котором есть основной узел (главный) и вторичный узел (подчиненный). Я создал таблицу (Org.Employee) и вставил 100 записей в главный узел. Раб получил таблицу и данные 100 записей через репликацию. Я сделал снимок данных в файл снимка. sql, используя mysqldump. Все хорошо до этого момента.

Теперь мастер-сервер не работает, поэтому я переключил существующего ведомого на нового мастера. Затем я добавил еще 100 записей в таблицу Org.Employee нового мастера.

Теперь я добавил нового ведомого и применил снимок. sql. Таблица Org.Employee с первыми 100 записями присутствует в новом ведомом устройстве. Потом я начал раб после перехода на новый хозяин. Из следующих 100 записей только 80 записей реплицируются на нового ведомого.

ISSUE is slave имеет 180 записей, в то время как master имеет 200 записей. 20 записей отсутствуют. Однако позже, когда я вставил как можно больше записей в главный узел, все записи синхронизируются должным образом с ведомым устройством. Но 20 пропавших записей не копируются в нового раба.

Кто-нибудь сталкивался с такой проблемой? Любое решение для устранения такой проблемы?

1 Ответ

0 голосов
/ 02 марта 2020

Проблема заключалась в том, что новые идентификаторы транзакций главного (старого подчиненного) gtid появлялись в восстановленном ведомом устройстве. Эти gtids выскочили через файл mysqldump, который мы взяли изначально. Вот почему некоторые gtids (записи) отсутствуют на восстановленном ведомом устройстве. Исправлено: Когда я использую мастер восстановления на восстановленном подчиненном устройстве до перехода на новый мастер для репликации, пропущенные записи отсутствуют.

...