Многие используют в MySQL функцию Master - Slave репликации для зеркалирования или бекапа данных. А что, если slave должен иметь возможность записать данные в БД, которые затем должны реплицироваться на Master? Настройка Master - Master репликации на самом деле не представляет из себя ничего сложного.
Дано:
Необходимо настроить мастер-мастер репликацию между главным сервером и зеркалом. Поехали!
На главном сервере:
Запоминаем параметры File и Position и создаём дамп реплицируемых баз:
На зеркальном сервере:
Убеждаемся в том, что параметры Slave_IO_Running и Slave_SQL_Running установлены в Yes. На данный момент у нас получилась работающая связка Master - Slave
На главном сервере:
Обращаю внимание на то, что процесс репликации, а тем более мастер-мастер репликации, очень хрупок и, не смотря на то, что мы позаботились об autoincrement, конфликты все равно будут. Взять хотя бы CMS Drupal - при репликации его БД рано или поздно вылезет ошибка при добавлении записи в таблицу cache с уже существующим, жестко вбитым в запрос, primary key. Чтобы этого избежать, добавьте в my.cnf:
2 Responses to MySQL мастер-мастер репликация
Гость
вторник, 29 June, 2010 - 10:57 ответить
товаришы как поступить если нельзя останавливать базу =D пипецки важное приложение на нём работает и днём и ночью =D
Гость
суббота, 29 May, 2010 - 11:24 ответить
Действительно ничего сложного, спасибо
Отправить комментарий