Вопрос про backup ЮТМ

Технические вопросы по UTM 5.0
serg2k
Сообщения: 28
Зарегистрирован: Пт сен 11, 2009 09:57

Сообщение serg2k »

Настроил репликацию, бакап снимаю с нее раз в день с помощью percona xtrabackup

Вопрос в следующем: как накатить данные до последней минуты с логов слейва?
обычно данные бинарных логов есть в xtrabackup_binlog_info, но это если снимать с мастера, на слейве там ничего нет.

bazalt
Сообщения: 13
Зарегистрирован: Чт сен 10, 2009 08:42

Сообщение bazalt »

Сегодня после внезапной перезагрузки слейва

Код: Выделить всё

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
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

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

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

JAO писал(а):У меня возникала и не один раз. Я в таком случае откатываюсь на последний дамп и догоняю базу до текущего вида. Один скрипт сохраняет каждое утро дамп и позицию в логах мастера. Второй скрипт как раз это и делает - останавливает репликацию, сносит базу, создает пустую, заливает дамп, выставляет позицию и запускает репликацию.
зачем, можно же сказать с какой позиции продолжать репликацию

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Можно конечно. Но мне показалось разумным не ставить утреннюю скажем позицию на базу, которая упала уже днем. Потому что в логе есть не только операторы UPDATE, но и INSERT. Если снова дать вставку того, что там уже есть, то одно из двух - или репликация навернется, или база испортится.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

JAO писал(а):Можно конечно. Но мне показалось разумным не ставить утреннюю скажем позицию на базу, которая упала уже днем. Потому что в логе есть не только операторы UPDATE, но и INSERT. Если снова дать вставку того, что там уже есть, то одно из двух - или репликация навернется, или база испортится.
Чушь полная, предлагаю освежить знания.

bazalt
Сообщения: 13
Зарегистрирован: Чт сен 10, 2009 08:42

Сообщение bazalt »

JAO писал(а):Я в таком случае откатываюсь на последний дамп и догоняю базу до текущего вида.
Кстати, да. Чего-то не подумал. На слейве каждые четыре часа полный дамп снимается, и заодно сохраняется .err-лог, в котором указывается «up to» позиция, на которой прервалась репликация перед бэкапом.

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

Magnum72 писал(а):Чушь полная, предлагаю освежить знания.
Хотелось бы получить ссылку на такие знания.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

JAO писал(а):
Magnum72 писал(а):Чушь полная, предлагаю освежить знания.
Хотелось бы получить ссылку на такие знания.
Ну вот смотри, мастер все запросы к базе нумерует и складывает в специальнй файл, который потом выкачивается слейвом и слейв по порядку выполняет все эти запросы..
Далее если слейв не смог выполнить какой то запрос он останавливается. и пишет номер позиции на которой он остановился.. Для того чтобы продолжить нам надо сначала проверить запрос в той позиции выполнть его вручную или забить на него.. Далее указывает слейвы чтобы он продолжил синхронизацию со следующей позиции..

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

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

Предложенный вариант быстрее, когда абонентов немеряно и база наполняется ударными темпами, но у меня не быстро идет ее наполнение, поэтому пользуюсь своим. Возможно, настанет время, когда воспользуюсь этим, а возможно и нет. Но запомню. Спасибо.

Sector
Сообщения: 10
Зарегистрирован: Пн дек 03, 2012 16:37

Сообщение Sector »

А насколько корректно дампить базу предварительно остановив сервис utm? Юзеров мало, на несколько минут ночью биллинг можно потушить безболезненно..

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Sector писал(а):А насколько корректно дампить базу предварительно остановив сервис utm? Юзеров мало, на несколько минут ночью биллинг можно потушить безболезненно..
Да никаких проблем, только лучше не дампить, а снапшоты с диска делать, ну или файлы базы данных копировать.

Ответить