За последние 24 часа нас посетили 17933 программиста и 1649 роботов. Сейчас ищут 1653 программиста ...

Как правильно делать резервную копию mysql базы ?

Тема в разделе "MySQL", создана пользователем Анатолий1944, 18 фев 2017.

  1. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Как правильно делать резервную копию mysql базы ?
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Какой-то странный вопрос. Хоть через phpMyAdmin (Закладка "Экспорт"), хоть с помощью утилиты mysqldump, если есть доступ в консоль. Если используете какую-то панель управления, то и там есть специальные инструменты. Можно добавить на выполнение по расписанию: Cron, Event Scheduler
     
    denis01 нравится это.
  3. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ну и естественно master-slave-репликация.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @igordata а шо у нас репликация не является способом резервного копирования?
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Я думал, репликация - одна из форм горизонтального масштабирования БД, связанная с тем, что соотношение запросов на запись и не чтение неравномерны, причем, на порядки, в следствие чего у нас есть, грубо, мастер, в который мы пишем, и который реплицируется на слейвы, с которых читают. В итоге весь кластер однородный, и нет головняка с выбором ноды для записи. Пишешь разом во все, но по-хитрому. Резервирование данных там вроде только для случая, если тебе надо ноду заменить, чтобы ее можно было остановить, не останавливая работу всей системы. Это не столько резервирование, сколько отказоустойчивость.

    Резервное копирование это когда наебнулся мастер, а ты раз и восстановил его с копии. Но если нет реального бекапа, то когда у тебя наебнется мастер, реплики наебнутся тем же самым образом, и с них как с резерва будет толку, что с козла молока.
     
  7. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Fell-x27 Ну давай посмотрим. Вот есть у тебя один инстанс, с ним общаются клиенты. Есть другой инстанс, в него срет данными первый инстанс.
    На втором инстансе актуальные данные? Да, и актуальнее чем если файловый бэкап по расписанию делать. Дилей будет от нагрузки зависеть. 0-0.
    Данные второго инстанса можно юзать для восстановления первого? А почему б и нет? Если у тебя первый упал, значит упал. Значит можешь залить и уже потом вернуть репликацию. 0-0.
    Что-то левое вписалось в первый инстанс? О да, тут репликация не поможет, потому что она не версионная. 0-1.
    Первый инстанс упал между бэкапами или даже во время оного? Увы не сохранятся наработки с прошлого бэкапа. А в реплицированной схеме сохранятся. 1-1.

    В приведенном выше списке аргументов автор умело высосал из пальца несколько аргументов из которых следует 1) что репликация может использоваться в схеме резервирования и 2) (что немаловажно) доказал что шедулед бэкап не той уж и исключительно хороший в сравнении с репликацией. И 3) что собеседники настолько ограничены в фантазии, что готовы использовать только один инструмент. Про то что ты можешь делать реплику и с неё делать шедулед бэкап - никто почему-то не подумал. А я ведь и не сказал, что "только репликация и никаких дампов". А еще можно ставить файловую систему на паузу и делать снапшот раздела с базой - вы и про это тоже не упомянули. Как видим, задача решается несколькими путями, не только дампами. Но и нигде не сказано что в схеме резервного копирования строго запрещено использовать репликацию. Как-то так.
     
    Fell-x27 нравится это.
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    А про это никто и не говорил, собственно. Ну а все остальное ты описал, да, согласен.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ни в коем случае! :D
    --- Добавлено ---
    собственно, резервное копирование служит одной цели - восстановить состояние системы на некий момент времени, в который она существовала. Если этого сделать нельзя - это не резервное копирование.

    Репликация является не только горизонтальным масштабированием, но и способом повысить жизнеспособность работающей системы, как ты и описал. Несомненно, если сдохнет главная база - мы можем переключиться на вторую, где живёт актуальная копия.

    Проблема в том, что выживаемость системы не имеет ничего общего с задачей резервного копирования. Благодаря репликации система может выжить после отказа базы данных. Но при этом система может уже находиться в состоянии, когда ей и жить-то не нужно.

    Исходя из своего доброго сердца вы забыли про злых людей. Человек со злыми намерениями может совершит злой поступок. Например - стереть каждую третью строчку в таблице :D И благодаря репликации, это перенесётся с главной базы и в реплики. Т.е. система войдёт в состояние, когда ей крайне тухло и хреново. И спасти от таких проблем может только бэкап.

    Репликация это средство борьбы с отказами. А бэкап - машина времени, призванная бороться с проблемами искажения состояния системы, которая в это время может даже штатно и спокойно функционировать. Базе данных всё равно, что строк в таблице стало меньше. Она не сломана, она работает хорошо. Бэкап позволяет откатить состояние, в котором была информация в системе. А репликация позволяет выживать самой системе, независимо от информации внутри неё.