MySQL является одним из гигантов мира баз данных. Большая часть паутины опирается на него — от маленьких блогов до крупных компаний, таких как Facebook. Даже Uber пришлось полагаться на эту реляционную систему управления базами данных, благодаря своей твердой производительности и отсутствие платы. Иногда, однако, ошибки случаются; неудача неизбежна. Поэтому регулярное резервное копирование имеет очень важное значение — как способность восстанавливать их.
Перед тем, как начать установку, вам потребуется несколько вещей:
Если у вас не установлен MySQL, проверьте наше руководство о том , как установить MySQL на Ubuntu 16.04.
Для выполнения резервного копирования, вам понадобится инструмент под названием mysqldump. Он включен в MySQL, так что нет никакой необходимости устанавливать что-либо еще. Эта утилита упрощает процесс и позволяет четыре важных типа резервного копирования, которые данное руководство будет охватывать: одной базы данных, нескольких баз данных, общесистемные и уровня таблицы.
Резервное копирование одной базы данных
Предположим, что одна база данных — andreyex — необходимо резервное копирование. Это можно сделать следующим образом :
mysqldump -u root -p andreyex > andreyex_backup.sql
В этом примере, единая резервная копия базы данных andreyex в файл с именем andreyex.sql. Имя файла имеет важное значение; пользователь (и пароль) необходим для резервного копирования в Mysqldump. Вам будет предложено ввести пароль пользователя после выполнения команды.
мульти-копии базы данных
Резервное копирование с несколькими базами данных позволит вам создавать резервные копии нескольких баз данных в одном файле .sql. Здесь мы хотим создать резервную копию нескольких баз данных.
mysqldump -u root -p --databases andreyex username customer > 3databases_backup.sql
Как вы можете видеть, каждое имя базы данных должны быть разделено пробелом. Все остальное работает как можно было бы ожидать от единой резервной копии базы данных.
Общесистемные резервные копии
Периодические резервные копии базы данных всей вашей системы имеют первостепенное значение. Они гарантируют, что все может быть восстановлено в случае отказа диска или других неприятностей. В то время как они могут занять больше времени, чтобы выполнить, команда на самом деле проще, чем другие.
mysqldump -u root -p --all-databases > all_andreyex_databases.sql
Таблица резервных копий на уровне
В этом примере база данных andreyex содержит таблицу с именем customer_records. Необходимо указать как базу данных, где находится таблицы и имя таблицы.
mysqldump -u root -p andreyex customer_table > andreyex_customer_table.sql
Команда запросит у вас пароль суперпользователя, а затем таблица customer_records будут сохранена в файле andreyex.sql.
Что хорошего в резервной копии без возможности восстановить их?
В отличие от части 1 данного руководства, здесь вы больше не будете нуждаться в mysqldump. Все задачи по восстановлению можно сделать непосредственно из MySQL команд. В этом разделе будем предполагать, что файл andreyex.sql содержит общесистемное резервное копирование — проведение каждой базы данных, а также их таблицы.
Восстановление всей MySQL Backup
Если вы выполняете миграцию сервера — или если ваш привод вышел из строя — восстановление на уровне системы резервного копирования будет проще всего, что вы сделаете. Просто укажите имя пользователя и имя файла, держащего резервное копирование.
mysql -u root -p globotech < andreyex_backup.sql
После ввода пароля корневого пользователя, все базы данных и таблицы из andreyex.sql будут сохранены в базе данных.
Восстановление одной базы данных
Вы можете восстановить одну базу данных из файла .sql, указав три вещи: пользователя, целевой базы данных, и имя файла резервной копии. В коде, это делается так:
mysql -u root -p --one-database andreyex < all_andreyex_databases.sql
Эта команда будет запрашивать пароль корневого пользователя, а затем восстановит содержимое andreyex. Он не будет восстанавливать данные из другой базы данных в andreyex.sql: andreyex.
Никто никогда не хочет плохих вещей; умные администраторы убедились в этом. С завершением этого руководства, вы теперь в состоянии почти гарантировать сохранности ваших данных, когда сервер выйдет из строя — и когда он возвращается будет восстановлен.
Если вам понравилось это руководство, проверьте наши другие учебные пособия (Перенос сайта WordPress на новый виртуальный сервер), где мы рассмотрим такие темы, как создание сетей, серверов, безопасность и многое другое.