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

репликация mysql

если я настрою подчиненное устройство mysql для репликации, могу ли я по-прежнему добавлять и изменять данные на подчиненном устройстве из другого процесса, пока он копирует данные с главного устройства через binlog?

Да, но в случае конфликта репликация останавливается, и вам придется повторно инициализировать ее с мастера.

Следствием этого является то, что если у вас есть два экземпляра приложения, которые записывают в множество реплицированных баз данных, и приложение гарантирует избежание конфликтов - система по-прежнему будет работать правильно.

Хотя это и плохая практика, да, теоретически вы могли бы это сделать, если будете следовать одному простому правилу:

НЕ ВСТАВЛЯЙТЕ, НЕ ОБНОВЛЯЙТЕ и НЕ УДАЛЯЙТЕ ЛЮБЫЕ ДАННЫЕ ИЗ ЛЮБОЙ БАЗЫ ДАННЫХ, НАПИСАННОЙ МАСТЕР.

Несмотря на то, что это плохая практика, я видел, как клиенты настраивали базы данных разработки / подготовки на ведомом устройстве. Мастер будет реплицировать на подчиненную копию производственных баз данных, и операции SELECT будут запускаться из них.

Разработчики могут читать и писать в базы данных разработчиков / промежуточных баз данных по желанию.

Пока разработчики никогда не касаются подчиненной копии рабочих баз данных, у них обычно не возникает проблем.

Вы также не хотите, чтобы в установках master-master были базы данных разработчиков / промежуточных баз данных. Это просто создает дополнительный трафик репликации и раздувание двоичного журнала.

статический и питр высказали веские соображения, которые также заслуживают внимания.

+1 для вас обоих !!!

Не рекомендуется, потому что это может легко нарушить репликацию. А затем, когда вы восстанавливаете ведомое устройство из резервной копии с ведущего, вы потеряете все изменения, которые были внесены в него.

если ты иметь чтобы иметь доступ к изменению на ведомом устройстве, вам, вероятно, понадобится репликация мастер-мастер. Здесь обе базы данных реплицируются друг на друга. Вы все еще можете повесить другие ведомые устройства на любое главное устройство. И вам не нужно ограничивать себя двумя участниками в ринге, хотя это увеличивает количество точек отказа.

Другой альтернативой является выборочная репликация, при которой ведомое устройство обновляет только некоторые таблицы или базы данных. Это работает лучше всего, если приложение, использующее ведомое устройство, действительно просто использует другую базу данных в том же экземпляре сервера.