NetTOOLSLib home page


GoРезервное копирование и восстановление баз данных 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.


Go


NetTOOLSLib home page
(online network tools and utilities)