|  | Резервное копирование и восстановление баз данных MySQL средствами mysqldump.
|
Данная статья описывает использование утилиты mysqldump для резервного копирования баз данных MySQL или MariaDB.
Фактически резервные копии, которые создает mysqldump, представляют набор операторов mysql, последовательно выполняя которые восстанавливается база данных.
Вы также можете использовать утилиту mysqldump для переноса базы данных MySQL на другой сервер MySQL.
Синтаксис команды mysqldump
Параметры использования mysqldump:
#mysqldump [параметры]> file.sql
параметры - параметры mysqldump
file.sql - дамп (резервная копия) файла
Резервное копирование одной базы данных MySQL
Чтобы создать резервную копию базы данных с именем database_name под пользователем root и затем сохранить ее в файл с именем database_name.sql, вы должны выполнить следующую команду:
#mysqldump -u root -p database_name> database_name.sql
задайте пароль пользователя root после запроса и резервная копия баэы данных будет создана.
выполнение команды:
#mysqldump database_name> database_name.sql
будет произведено под текущим пользователем и без запроса пароля
Резервное копирование нескольких баз данных MySQL
Для резервного копирования нескольких баз данных MySQL необходимо использовать параметр --database, далее задаются имена баз данных через "пробел".
#mysqldump -u root -p -database db1 db2 db3> backup123.sql
будет создан бэкап все трех баз данных (db1, db2, d3) в файл backup123.sql
Резервное копирование всех баз данных MySQL
Для резервного копирования всех баз данных MySQL используется параметр --all-database:
#mysqldump -u root -p --all-database> alldb.sql
команда создаст файл дампа фalldb.sql, содержащий все базы данных.
Резервное копирование всех баз данных MySQL в отдельные файлы
для резервного копирования всех баз данных в разные файлы потребуется отдельная команда для каждой базы.
#mysqldump -u root -p -database db1 > backup1.sql
#mysqldump -u root -p -database db2 > backup2.sql
#mysqldump -u root -p -database db3 > backup3.sql
В данном примере базы данных db1, db2, db3 будут скопированы в свои отдельны файлы backup1.sql, backup2.sql и backup3.sql
Создание сжатой резервной копии базы данных MySQL
для создания сжатой резервной копии базы данных используем составную команду бэкапирования и архивирования:
#mysqldump db1 | gzip> db1.sql.gz
Восстановление базы MySQL из резервной копии
Восстановление осуществляется последовательных выполнением процедур MySQL созданных в файле в процессе работы mysqldump
Вы можете восстановить дамп MySQL с помощью команды mysql.
#mysqld database_name
Если вам необходимо полное восстановление базы из резервной копии, то возможно вам потребуется предваривительно удалить существующую базу данных, затем создать новую и уже в нее выполнить восстановление данных.
#mysql -u root -p -e "create database db_name";
#mysql -u root -p db_name < db_name.sql
в указанной примере сначала будет создана база данных db_name и затем в нее будут восстановлены данные из файла db_name.sql
Восстановить одну базу данных MySQL из полного дампа MySQL
Если резервнная копия выполена с помощью параметра -all-database и таким образом содержит резервные копии все баз данны, но требуется восстановить одну из них, используется параметр --one-database:
#mysql --one-database db1 < all_db.sql
в указанном примере будет восстановлена только база db1 из файла резервных копий all_db.sql
Экспорт и импорт базы данных MySQL
Существует простой способ клонирования баз данных без промежуточного файла резервных копий. Для этого можно использовать пример команды указанной ниже:
#mysqldump -u root -p db_name | mysql -h remote_host -u root -p remote_db_name
при использовании данной команды резервная копия базы db_name с localhost будет восстановлена на сервере по именем remote_host
Заключение
В данной статье были описаны приемы резервного копирования и восстановления баз данных MySQL или MariaDB.

 (online network tools and utilities) |
| |