На всякий случай делюсь граблями. Не используйте при репликации изменение имени БД (replicate-rewrite-db). MySQL не подменяет имя БД во многих запросах (я, например, наступил на грабли ALTER TABLE ... ADD CONSTRAINT REFERENCES `DB-NAME`.`TABLE-NAME` ...) — вот на этом REFERENCES слейв и вылетал. Учитывая 2Гб объём и то, что с целью экспериментов репликацию с нуля пришлось поднимать трижды, сегодня часа два убил, пока разобрался. Пришлось на реплике имя БД делать такое же, как на мастере. Сейчас поднимается в 4-й раз :)
«Seconds_Behind_Master: 1545832»
Нормально так. Интересно, за сколько нагонит? :)
И пора делать систему мониторинга, чтобы проверяла актуальность реплики.
Как при репликации в MySQL может вылезать Duplicate entry ошибка на запрос REPLACE? Оно же, млин, по определению должно удалять нафиг старое значение, если таковое найдётся. Ничего не понимаю. Но синхронизация баз данных на этом каждые несколько часов обламывается и требует ручного разруливания.
Balancer> Да в любой ситуации. Я не могу представить ситуацию, когда replace выдаст duplicate error Balancer> Ну, по крайней мере в случае единственного PK, как у меня Скорее всего это именно какая-то тонкость репликации.
Ну например при репликации по операторам таблицы с AUTO_INCREMENT PK - баги в MySql на эту тему были, гарантии что их больше нет я бы не дал.
Прекрасно знаю, что COUNT(*) в InnoDB не торт... Но не до такой же степени! Есть две таблицы: | ... | tab1 | tab 2| |-------------------|------|------| | Число строк, млн | 3.2 | 4.0 | | Объём на диске,ГБ | 6.0 | 7.6 | | Число пол...
// www.linux.org.ru