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

Возможно ли, что более новые данные будут перезаписаны старыми после замедления репликации MySQL?

Я настроил репликацию мастер-мастер для 2 серверов и в одной из таблиц, которые я использую REPLACE INTO для обновления данных в таблице. Возможно ли, что связь между двумя серверами выходит из строя, затем сервер 1 обновляет определенную строку, через несколько секунд сервер 2 обновляет ту же строку, и когда они снова подключаются, тем больше обновленных данных на сервере 2 перезаписаны данными с сервера 1?

Вы только что обнаружили, почему установка «репликации» master-master с MySQL не так уж и хороша. Что еще хуже, ваши измененные данные с сервера 2 также распространяются на сервер 1, поэтому они навсегда останутся с разными (замененными) данными в двух репликах ваших таблиц и никогда не узнают об этом. За исключением случая, когда вы изменяете один из столбцов, по которым фильтруете свой запрос, когда репликация прерывается (останавливается с ошибкой) из-за различий в количестве столбцов, затронутых запросом (который записывается и проверяется реализацией репликатора MySQL. ).

Вы должны использовать Кластер MySQL если вы хотите выполнить такую ​​настройку с MySQL - у него есть средства для последовательного разрешения такого рода конфликтов. В отличие от «бесплатных» установок MySQL, лицензирование обойдется вам в $ $$.