Назад | Перейти на главную страницу

Проблема автоматического увеличения MySQL при репликации мастер-мастер и логика ее решения

У меня возникла проблема с дублированием автоинкремента для репликации мастер-мастер. Затем я установил:

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 99999;

Это пропускает 9999 запросов. Тогда я сделал:

SHOW SLAVE STATUS\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

И вроде работает нормально.

Но, конечно, поскольку я пропустил 99999 операторов ... если я внесу изменение в базу данных 1, оно не отразится на базе данных 2 ... до тех пор, пока не будет передано 99999 операторов. Верный?

Ну ... Я создал сценарий для автоматической вставки 999999 строк в фиктивную таблицу. Этого должно быть более чем достаточно, правда? И мои 2 базы данных должны снова синхронизироваться ???

Но я нахожусь на своей 3-миллионной строке, и, похоже, она не работает. В моей базе данных 2 все еще нет этих 3 миллионов строк, которые я только что создал в базе данных 1.

Я настоятельно рекомендую прочитать http://www.neocodesoftware.com/replication/ так как похоже, что ваша мастер-мастерская установка настроена неправильно (и теперь у вас есть ситуация с разделением мозга).

Все, что вы сделали, установив sql_slave_skip_counter, - это пропустить записи, которые вызывают у вас проблемы (отсюда и причина того, что у вас несогласованные данные).