Если у вас есть сервер, на котором настроена MySQL репликация, то рано или поздно вы столкнетесь с разного рода ошибками этой самой репликации. Ошибки могут быть вызваны как некорректной настройкой mysql-сервера, так и неправильной структурой самой БД.
В моей практике, наиболее распространенной ошибкой была 1062 Duplicate entry '...' for key 1, которая возникает в случае нарушения уникальности какого-либо unique-поля таблицы. Если вы не можете изменить структуру таблиц так, чтобы избежать подобной ситуации, но, при этом, репликацию надо как-то запускать, есть простой выход - в настройки MySQL (my.cnf) добавить строку slave-skip-errors = 1062. С этого момента, сервер просто будет игнорировать именно эту ошибку и репликация останавливаться не будет. Но надо понимать, что при таком подходе вы будете терять часть данных, которые не попадут в реплицируемые таблицы из-за описанного выше конфликта.
Многие используют в MySQL функцию Master - Slave репликации для зеркалирования или бекапа данных. А что, если slave должен иметь возможность записать данные в БД, которые затем должны реплицироваться на Master? Настройка Master - Master репликации на самом деле не представляет из себя ничего сложного.
Дано:
Необходимо настроить мастер-мастер репликацию между главным сервером и зеркалом. Поехали!
На главном сервере:
Последние комментарии
1 неделя 3 дня назад
1 неделя 4 дня назад
1 неделя 4 дня назад
1 неделя 5 дней назад
1 неделя 5 дней назад
1 неделя 5 дней назад
1 неделя 5 дней назад
1 неделя 5 дней назад
1 неделя 5 дней назад
2 недели 6 дней назад