backup mysql
backup mysql
Уважаемые!
Подскажите как Вы делаете бэкапы Вашей базы? так чтобы не надо было "стопать" билинг. Ищется самый "безопасный" способ учитывая что сервер с backup машиной будет находится в другом конце страны и возможны "обрывы" связи и не качественный канал между железками.
Подскажите как Вы делаете бэкапы Вашей базы? так чтобы не надо было "стопать" билинг. Ищется самый "безопасный" способ учитывая что сервер с backup машиной будет находится в другом конце страны и возможны "обрывы" связи и не качественный канал между железками.
Именно так и получится.xxxupg писал(а):ZeM вопрос такой, не получится ли так что во время бэкапа, залочится какая-то таблица в которую в этот же момент будет "записывать" что-то билинг? что собственно и приведёт к чему-то непредвиденному?
По идее самое правильное:
1) Стопнуть биллинг,
2) Тормознуть репликацию на слейв
3) Запустить биллинг
4) Скопировать файл базы со слейва
5) Продолжить репликацию на слейв
Но так как биллинг падает частенько и без особых последствий то достаточно:
1) Тормознуть репликацию на слейв
2) Скопировать файл базы со слейва
3) Продолжить репликацию на слейв
Согласен что самое лучшее останавливать utm5 core.
(Сам хочу сделать что то типа Heartbeat из 3 х тачек для mysql. Тема интересная. Физически пока нет серверов для экспериментов.)
Такое у меня происходит когда делается месячная копия в 4 утра. И запускается когда копия создалась.
Ну в моей ситуации все так. Во первых у меня raid 5 где базы лежат - физический вылет винтов не страшен - думаю у всех райды + 1 винт в hot spare (mdadm).
Во вторых если делаю бэкап на ходу то на тестовой копии билинга разворачиваю и все нормально без каких то проблем.
P.S. Может разработчики предложат "правильный" механизм дампа БД UTM средствами MYSQL/реализуют некий механизм бэкапа на уровне биллинга.
Кстати поправьте если ошибаюсь - когда ядро UTM остановлено - улетает в трубу вся статистика по юзеру на период остановки utm core и прочая инфа.
P.S.S. Кстати как то использовал mysqlhotcopy помимо (mysqldump --c ключом lock-tables - но тут есть минусы).
Хотя думаю еще в сторону LVM если там разместить только mysql и снимать образ тома без хлама.
Репликация тоже вариант но пока у меня нет возможности настроить хотя если кто то DROPнет что то - то этот косяк будет на обоих серверах.
Но на мой взгляд самый вариант бекапа на лету ---> это реплика и снятие бекапа с нее. И нет проблем с залоченными таблицами.
Ну идеального варианта нет вообщем.
(Сам хочу сделать что то типа Heartbeat из 3 х тачек для mysql. Тема интересная. Физически пока нет серверов для экспериментов.)
Такое у меня происходит когда делается месячная копия в 4 утра. И запускается когда копия создалась.
Ну в моей ситуации все так. Во первых у меня raid 5 где базы лежат - физический вылет винтов не страшен - думаю у всех райды + 1 винт в hot spare (mdadm).
Во вторых если делаю бэкап на ходу то на тестовой копии билинга разворачиваю и все нормально без каких то проблем.
P.S. Может разработчики предложат "правильный" механизм дампа БД UTM средствами MYSQL/реализуют некий механизм бэкапа на уровне биллинга.
Кстати поправьте если ошибаюсь - когда ядро UTM остановлено - улетает в трубу вся статистика по юзеру на период остановки utm core и прочая инфа.
P.S.S. Кстати как то использовал mysqlhotcopy помимо (mysqldump --c ключом lock-tables - но тут есть минусы).
Хотя думаю еще в сторону LVM если там разместить только mysql и снимать образ тома без хлама.
Репликация тоже вариант но пока у меня нет возможности настроить хотя если кто то DROPнет что то - то этот косяк будет на обоих серверах.
Но на мой взгляд самый вариант бекапа на лету ---> это реплика и снятие бекапа с нее. И нет проблем с залоченными таблицами.
Ну идеального варианта нет вообщем.
Magnum72 можете скинуть конфиг слейв сервера который не "испортит" базу основного? слышал что после остановки слейва, снятия бэкапа и запуска слейва он тоже чтото может наделать с основной базой? или это всё просто решается прописыванием для слейва ограниченных только на чтение логина и пароля к sql?
Как слейв может что-то сделать с мастером если он забирает с него только бинлоги?xxxupg писал(а):Magnum72 можете скинуть конфиг слейв сервера который не "испортит" базу основного? слышал что после остановки слейва, снятия бэкапа и запуска слейва он тоже чтото может наделать с основной базой? или это всё просто решается прописыванием для слейва ограниченных только на чтение логина и пароля к sql?
Самый идеальный вариант:ZeM писал(а):Согласен что самое лучшее останавливать utm5 core.
(Сам хочу сделать что то типа Heartbeat из 3 х тачек для mysql. Тема интересная. Физически пока нет серверов для экспериментов.)
Такое у меня происходит когда делается месячная копия в 4 утра. И запускается когда копия создалась.
Ну в моей ситуации все так. Во первых у меня raid 5 где базы лежат - физический вылет винтов не страшен - думаю у всех райды + 1 винт в hot spare (mdadm).
Во вторых если делаю бэкап на ходу то на тестовой копии билинга разворачиваю и все нормально без каких то проблем.
P.S. Может разработчики предложат "правильный" механизм дампа БД UTM средствами MYSQL/реализуют некий механизм бэкапа на уровне биллинга.
Кстати поправьте если ошибаюсь - когда ядро UTM остановлено - улетает в трубу вся статистика по юзеру на период остановки utm core и прочая инфа.
P.S.S. Кстати как то использовал mysqlhotcopy помимо (mysqldump --c ключом lock-tables - но тут есть минусы).
Хотя думаю еще в сторону LVM если там разместить только mysql и снимать образ тома без хлама.
Репликация тоже вариант но пока у меня нет возможности настроить хотя если кто то DROPнет что то - то этот косяк будет на обоих серверах.
Но на мой взгляд самый вариант бекапа на лету ---> это реплика и снятие бекапа с нее. И нет проблем с залоченными таблицами.
Ну идеального варианта нет вообщем.
1) Сервер с рабочей версией базы
2) Сервер для горячей замены
3) Реплицируемый сервер с отложенный репликацией на х часов (мускул умеет начиная с 5.6)
Когда начал изуть вопрос про репликацию, прочёл статью ( http://habrahabr.ru/post/56702/ ), не понравился такой момент:Magnum72 писал(а):Как слейв может что-то сделать с мастером если он забирает с него только бинлоги?
собственно это тоже приведёт к ничему хорошемуПереносим данные
Здесь нам придется заблокировать БД для записи. Для этого можно либо остановить работу приложений, либо воспользоваться установкой флажка read_only на мастере......

?
а еще вопрос про "извращённое" копирование, что если сделать так:
делаем на рабочей базе бэкап с помощью mysqldump, и в параметрах просто указываем что НЕ надо делать бэкап таблиц с сессиями (discount_transactions_all, discount_transactions_iptraffic_all, dhs_sessions_log, dhs_sessions_detail и их архивы... ) размер базы в данном случае у меня максимум 80Мб, бэкап занимает 20сек не думаю что чтото плохое может произойти?
p.s. задача - сохранить абонентскую базу для быстрого развёртывания "резервного" билинга со всеми счетами и т.п. но отчёты по сессиям не понадобятся.
делаем на рабочей базе бэкап с помощью mysqldump, и в параметрах просто указываем что НЕ надо делать бэкап таблиц с сессиями (discount_transactions_all, discount_transactions_iptraffic_all, dhs_sessions_log, dhs_sessions_detail и их архивы... ) размер базы в данном случае у меня максимум 80Мб, бэкап занимает 20сек не думаю что чтото плохое может произойти?
p.s. задача - сохранить абонентскую базу для быстрого развёртывания "резервного" билинга со всеми счетами и т.п. но отчёты по сессиям не понадобятся.