Вопрос про backup ЮТМ
Сегодня после внезапной перезагрузки слейва
Как я понимаю, запросы база успела осуществить, а вот в логе сдвинуть позицию не успела. После удаления соответствующих записей репликация пошла опять.
Возникала ситуация такая у кого-нибудь? Насколько будет правильным добавить в конфиг скип 1062 просто?
Код: Выделить всё
121205 16:36:58 [Warning] Slave: Duplicate entry '39438231' for key 'PRIMARY' Error_code: 1062
121205 16:36:58 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000001' position 60193512
Возникала ситуация такая у кого-нибудь? Насколько будет правильным добавить в конфиг скип 1062 просто?
У меня возникала и не один раз. Я в таком случае откатываюсь на последний дамп и догоняю базу до текущего вида. Один скрипт сохраняет каждое утро дамп и позицию в логах мастера. Второй скрипт как раз это и делает - останавливает репликацию, сносит базу, создает пустую, заливает дамп, выставляет позицию и запускает репликацию.
зачем, можно же сказать с какой позиции продолжать репликациюJAO писал(а):У меня возникала и не один раз. Я в таком случае откатываюсь на последний дамп и догоняю базу до текущего вида. Один скрипт сохраняет каждое утро дамп и позицию в логах мастера. Второй скрипт как раз это и делает - останавливает репликацию, сносит базу, создает пустую, заливает дамп, выставляет позицию и запускает репликацию.
Чушь полная, предлагаю освежить знания.JAO писал(а):Можно конечно. Но мне показалось разумным не ставить утреннюю скажем позицию на базу, которая упала уже днем. Потому что в логе есть не только операторы UPDATE, но и INSERT. Если снова дать вставку того, что там уже есть, то одно из двух - или репликация навернется, или база испортится.
Ну вот смотри, мастер все запросы к базе нумерует и складывает в специальнй файл, который потом выкачивается слейвом и слейв по порядку выполняет все эти запросы..JAO писал(а):Хотелось бы получить ссылку на такие знания.Magnum72 писал(а):Чушь полная, предлагаю освежить знания.
Далее если слейв не смог выполнить какой то запрос он останавливается. и пишет номер позиции на которой он остановился.. Для того чтобы продолжить нам надо сначала проверить запрос в той позиции выполнть его вручную или забить на него.. Далее указывает слейвы чтобы он продолжил синхронизацию со следующей позиции..
Согласен. Но это ручная работа, на которую не всегда есть время и желание. Я для того и написал этот скрипт, чтобы поменьше ручной работы было.
Предложенный вариант быстрее, когда абонентов немеряно и база наполняется ударными темпами, но у меня не быстро идет ее наполнение, поэтому пользуюсь своим. Возможно, настанет время, когда воспользуюсь этим, а возможно и нет. Но запомню. Спасибо.
Предложенный вариант быстрее, когда абонентов немеряно и база наполняется ударными темпами, но у меня не быстро идет ее наполнение, поэтому пользуюсь своим. Возможно, настанет время, когда воспользуюсь этим, а возможно и нет. Но запомню. Спасибо.