У меня есть две базы данных, которые синхронизируют данные через репликацию Мастер-Мастер.
Настройка была создана с использованием следующего руководства:
Еще два дня назад система работала нормально более года, но теперь у меня возникла эта странная проблема.
Сервер 1:
Сервер 2:
Как вы можете видеть, Сервер 2 синхронизируется правильно, но Сервер 1 намного отстает от ведущей позиции Сервера 2. Позиция чтения ведомого сервера 1 не пытается «догнать» или пытаться соответствовать ведущему статусу. Когда я вручную заставляю их совпадать, используя:
CHANGE MASTER TO MASTER_HOST = 'xx.xx.xx.xx, MASTER_USER = 'username', MASTER_PASSWORD = 'password', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 001;
Подчиненное устройство сервера 1 совпадает с положением журнала главного бункера сервера 2, но через час или два оно отстает и остается позади.
Мы бежим:
Я понятия не имею, почему до двух дней назад это работало нормально, а теперь сервер 1 сильно отстает от сервера 2. Возможна ли проблема с соединением между двумя серверами?
Может ли кто-нибудь пролить свет на эту проблему?
Не обладая надлежащими знаниями по этой теме, хотя у меня есть несколько репликаций мастер-мастер, я бы сказал, что позиция журнала может относиться к позиции локального сервера. Запись данных на master1, которые реплицируются на master2, с моей точки зрения, только увеличит позицию журнала на master1. Вместо этого запись напрямую в master2 увеличит его позицию в журнале.
Я проверил одну из своих реплик, которая показывает ту же разницу, что и вы, хотя содержимое каждой базы данных идентично. Так что я бы не стал беспокоиться об этой разнице.
Меня лично беспокоят только Slave_IO_Running, Slave_SQL_Running, Seconds_Behind_Master и ошибки на «рабах».