Я установил схему репликации MySQL между двумя удаленными базами данных. Я понял, что если я изменю данные в подчиненной БД, измененные данные не будут обновляться снова.
Например, у меня есть таблица User, и я создаю нового пользователя Joe в главной БД. Джо реплицируется на подчиненную БД. Но если позже я удалю Joe из Slave DB, Joe из Master больше не будет скопирован обратно в Slave.
Почему это происходит? Есть ли способ остановить это?
Это происходит потому, что репликация MySQL работает не так, как вы думаете. Все, что он делает, это берет запросы, которые изменили данные на ведущем устройстве, и повторно запускает их на ведомом устройстве. Текущая сверка изменений не ведется.
В результате вы должен рассматривать подчиненные устройства как доступные только для чтения и никогда не изменять данные на них. Чего бы вы ни хотели достичь, изменяя данные подчиненного устройства, вам придется придумать другой способ достижения этого.