Знание — в действии (Эразм Роттердамский).

Как сделать резервную копию баз данных MySQL в Ubuntu VPS

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 28 января 2017

Как сделать резервную копию баз данных MySQL в Ubuntu VPS
MySQL является популярным решением для управления базами данных, которая использует SQL язык запросов для доступа и управления данными. Она может быть легко использована для управления данными с веб-сайтами или приложениями.

Резервные копии имеют важное значение с любым типом данных, и это особенно актуально, когда речь идет о базах данных. MySQL может быть поддержано несколькими различными способами, которые мы обсудим в этой статье.

Для этого урока мы будем использовать Ubuntu 12.04 VPS с установленным MySQL. Большинство современных дистрибутивов и последние версии MySQL должны работать аналогичным образом.

Как создать резервную копию базы данных MySQL с mysqldump

Одним из наиболее распространенных способов резервного копирования с MySQL, чтобы использовать команду под названием “mysqldump“.

Резервное копирование

Существует статья о том, как экспортировать базы данных с помощью mysqldump. Основной синтаксис команды:

Восстановление

Чтобы восстановить дамп базы данных, созданный с помощью mysqldump, вы просто должны снова перенаправить файл в MySQL.

Нам нужно создать пустую базу данных для размещения импортируемых данных. Во-первых, необходимо войти в MySQL, введите команду:

Создать новую базу данных, которая будет содержать все данные из дампа данных, а затем выйти из командной строке MySQL:

Далее, мы можем перенаправить файл дампа в нашей вновь созданной базе данных, выполнив следующую команду:

Теперь Ваша информация должна быть восстановлена ​​в базу данных, которую вы создали.

Как сделать резервную копию таблицы MySQL в текстовый файл

Вы можете сохранить данные из таблицы непосредственно в текстовый файл с помощью оператора выбора в MySQL.

Общий синтаксис для этой операции:

Эта операция будет сохранять данные таблицы в файл на сервере MySQL. Это не сработает, если уже существует файл с именем выбранного.

Примечание: Эта опция сохраняет только данные таблицы. Если ваша структура таблицы сложна и должна быть сохранена, то лучше использовать другой метод!

Как сделать резервную копию MySQL данных с помощью automysqlbackup

Существует программа-утилита под названием “automysqlbackup“, которая доступна в репозитории Ubuntu.

Эта утилита может быть запущена автоматически и выполнять резервное копирование через регулярные промежутки времени.

Чтобы установить эту программу, введите следующую команду в терминале:

Выполните команду, набрав:

Основной конфигурационный файл для automysqlbackup находится в “/etc/default/automysqlbackup“. Откройте его с правами администратора:

Вы можете видеть, что этот файл, по умолчанию, присваивает много переменных в файле MySQL, расположенного по адресу “/etc/mysql/debian.cnf“. Этот документ содержит информацию для входа в обслуживание

Из этого файла, он считывает пользователя, пароль и базы данных, которые должны быть скопированы.

Расположение по умолчанию для резервных копий “/var/lib/automysqlbackup“. Чтобы увидеть структуру резервных копий:

Если мы посмотрим в ежедневный каталог, мы можем увидеть подкаталог для каждой базы данных, внутри которого находится сжатый SQL дамп с момента, когда команда была запущена:

Ubuntu устанавливает cron сценарий с помощью этой программы, которая будет работать каждый день. Он будет организовывать файлы в соответствующий каталог.

Как сделать резервную копию при использовании репликации

Можно использовать репликацию MySQL для резервного копирования данных с вышеуказанными методами.

Репликация представляет собой процесс зеркального отображения данных с одного сервера на другой сервер (ведущий-ведомый) или зеркальное отображение изменений, внесенных c сервера на другой (мастер-мастер).

В то время как репликация позволяет зеркального отображения данных, она страдает, когда вы пытаетесь сохранить определенный момент времени. Это происходит потому, что она постоянно тиражирует изменения динамической системы.

Чтобы избежать этой проблемы, мы можем либо:

  • Отключить репликацию временно
  • Сделайте резервную машину для чтения только временно

Временное отключение репликации

Вы можете отключить временно репликацию для ведомого устройства:

Другой вариант, который не полностью остановит репликацию, но ставит его на паузу, так сказать, может быть достигнуто путем ввода:

После того, как репликация останавливается, вы можете сделать резервное копирование с помощью одного из указанных выше способов. Это позволяет сохранить базу данных MySQL мастер онлайн в то время как идет резервное копирование.

После завершения всех процедур, перезапустите репликацию, набрав:

Сделать резервную машину временно только для чтения

Вы можете также обеспечить последовательный набор данных на сервере, делая временно только для чтения данных.

Вы можете выполнить следующие действия для ведущих или ведомых систем.

Во-первых, необходимо войти в MySQL с достаточными правами для управления данными:

Далее, мы можем написать все кэшированные изменения на диск и установить систему только для чтения, набрав:

Теперь выполнить вашу резервную копию с помощью mysqldump.

После завершения резервного копирования, вернуть систему в исходное рабочее состояние путем ввода:

Замечание о методах, которые уже не являются рекомендованными

Mysqlhotcopy

MySQL включает в себя Perl скрипт для быстрого резервного копирования баз данных называемый “Mysqlhotcopy“. Этот инструмент может быть использован для быстрого резервного копирования базы данных на локальном компьютере, но он имеет свои ограничения, которые заставляют нас избегать рекомендовать его.

Самая важная причина, мы не будем рассматривать использование Mysqlhotcopy здесь потому, что он работает только для данных, сохраненных с помощью двигателей хранения “MyISAM” и “Archive”.

Большинство пользователей не меняют двигатель для хранения своих баз данных и, начиная с MySQL 5.5, двигатель хранения по умолчанию является “InnoDB”. Этот тип базы данных не могут быть сохранен с помощью Mysqlhotcopy.

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

Копирование файлов таблиц

Другой метод, иногда предлагается просто скопировать файлы таблиц, в которых MySQL хранит свои данные.

Этот подход страдает из-за одного из тех же причин, как “Mysqlhotcopy”.

В то время как разумно использовать эту технику с двигателями хранения, которые хранят свои данные в файлах, InnoDB, новый двигатель хранения по умолчанию,  не для резервного копирования в этом случае.

Вывод

Есть много различных методов выполнения резервного копирования в MySQL. Все они имеют свои преимущества и недостатки, но некоторые из них гораздо проще реализовать и в более широком смысле полезнее, чем другие.

Схема резервного копирования, которое вы выбираете для развертывания, будет в значительной степени зависеть от ваших индивидуальных потребностей и ресурсов, а также вашей производственной среды. Какой бы метод вы не выбрали, не забудьте проверить свои резервные копии и практику восстановления данных, так что вы можете быть уверены в том, что процесс функционирует нормально.

Как сделать резервную копию баз данных MySQL в Ubuntu VPS


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close