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

Команда ‘mysqldump‘ используется для создания «дампов» баз данных под управлением MySQL.

Эти дампы представляю собой простые текстовые файлы со всеми SQL командами необходимыми для воссоздания базы данных.

Резервное копирование Базы Данных

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

$ mysqldump --opt -u [username] -p[password] [dbname] > [backupfile.sql]

Замечание: Между ключом -p и самим паролем пробел отсутствует.

Пример:

$ mysqldump --opt -u root -pSeCrEt customers_db > customers_db_backup.sql

Резервное копирование нескольких Баз Данных

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

$ mysqldump --opt -u [username] -p[password] --databases [dbname_1] [dbname_2] ... > [backupfile.sql]

Пример:

$ mysqldump --opt -u root -pSeCrEt --databases customers_db employees_db > backup.sql

Резервное копирование всех Баз Данных

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

$ mysqldump --opt -u [username] -p[password] --all-databases > [backupfile.sql]

Пример:

$ mysqldump --opt -u root -pSeCrEt --all-databases > all_db_backup.sql

Резервное копирование Базы Данных с сжатием

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

$ mysqldump --opt -u [username] -p[password] [dbname] |  gzip -9 > [backupfile.sql]

Пример:

$ mysqldump --opt -u root -pSeCrEt customers_db |  gzip -9 > customers_db_backup.sql.gz

Для извлечения *.gz архива, используйте команду ниже:

$ gunzip customers_db_backup.sql.gz

Не следует использовать phpMyAdmin для восстановления большой базы данных MySQL.

phpMyAdmin имеет ограничение на размер загружаемого файла, и кроме того, следует помнить о максимальном времени, через которое браузер может отвалиться по таймауту.

Решением проблемы восстановления больших Баз Данных из sql дампов, является использование Linux/Unix командной строки.

Восстановление существующей Базы Данных

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

Синтаксис команды ‘mysqlimport’:

$ mysqlimport -u [username] -p[password] [dbname] [backupfile.sql]

Замечание: Между ключом -p и самим паролем пробел отсутствует.

Example:

$ mysqlimport -u root -pSeCrEt customers_db customers_db_backup.sql

Восстановление новой Базы Данных

1. Создайте базу данных с соответствующим названием на целевом сервере.

Пример:

mysql> CREATE DATABASE customers_db;

2. Загрузите файл sql дампа, используя команду ‘mysql‘ :

$ mysql -u [username] -p[password] [db_to_restore] < [backupfile.sql]

Пример:

$ mysql -u root -pSeCrEt customers_db < customers_db_backup.sql

Если sql дамп был предварительно сжат, Вы можете Выполнить следующее:

$ gunzip < [backupfile.sql.gz] | mysql -u [username] -p[password] [dbname]

Пример:

$ gunzip < customers_db_backup.sql.gz | mysql -u root -pSeCrEt customers_db