Создание резервной копии и восстановление базы данных MySQL с помощью mysqldump

Утилита mysqldump – это эффективный инструмент для создания резервной копии базы данных MySQL. Он позволяет создать *.sql файл с совокупностью (дампом) всех таблиц и данных основной базы данных (источника). Чтобы восстановить такую резервную копию, её достаточно импортировать в другую базу данных.

С целью резервирования баз данных MyISAM, лучше использовать инструмент mysqlhotcopy, который мы обязательно опишем в следующих статьях, так как с ними он работает быстрее и эффективнее.

С помощью mysqldump, можно как создавать резервную копию локальных баз данных, так и восстанавливать их на удалённых базах данных. В данной статье рассмотрим несколько практических примеров резервирования восстановления баз с помощью mysqldump.

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

  • Создание резервной копии:

    # mysqldump –u[пользователь] –p[пароль_пользователя] [имя_базы] › [название_файла_резервной_копии_базы].sql

    Например:

    # mysqldump -uroot -pqwerty my_db › my_db-dump1.sql

    Командная строка: mysqldump -uroot -pqwerty my_db › my_db-dump1.sql
  • Восстановление резервной копии:

    # mysql -u[пользователь] -p[пароль_пользователя] [имя_базы] ‹ [название_файла_резервной_копии_базы].sql

    Например:

    # mysql -uroot -pqwerty my_db ‹ my_db-dump1.sql

    Командная строка: mysql -uroot -pqwerty my_db ‹ my_db-dump1.sql

В данных командах:

-u – параметр, который указывает логин, с помощью которого в данном случае осуществляется подключение к базе данных;

-p – параметр, который указывает пароль пользователя данного логина. Если после данного параметра не указать пароль, то после запуска команды его необходимо будет ввести дополнительно;

[имя_базы] – имя базы данных, резервную копию которой необходимо создать;

[название_файла_резервной_копии_базы].sql – пользователь может указать любое удобное название файла резервной копии базы данных. Если указать название файла как в предоставленном примере, то резервная копия базы будет создана в папке из которой запускалась команда, а именно:
C:\Program Files\MySQL\MySQL Server 5.7\bin

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

# mysqldump -uroot -pqwerty my_db › C:\Users\Valery\Documents\MySQL_Backup\my_db-dump1.sql
# mysql -uroot -pqwerty my_db ‹ C:\Users\Valery\Documents\MySQL_Backup\my_db-dump1.sql

Командная строка: mysqldump -uroot -pqwerty my_db › C:\Users\Valery\Documents\MySQL_Backup\my_db-dump2.sql

Далее рассмотрим разные варианты создания и восстановления резервной копии базы данных MySQL.

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

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

# mysqldump –u[пользователь] –p[пароль_пользователя] [имя_базы] › [название_файла_резервной_копии_базы].sql

Например:

# mysqldump -uroot -pqwerty my_db > my_db-dump1.sql

Резервная копия нескольких баз данных

Прежде чем создавать резервную копию нескольких баз данных одновременно, идентифицируйте наличие баз данных.

Для этого введите команду show databases (в Workbench)

Создание резервной копии и восстановление базы данных MySQL с помощью mysqldump

или # mysqlshow –uroot -p (в консоли).

Командная строка: mysqlshow –uroot -p

Если необходимо одновременно создать резервную копию нескольких баз данных (например, my_db и test), то для этого необходимо выполнить такую команду:

# mysqldump -uroot -pqwerty –databases my_db test › my_db_test_backup.sql

Командная строка: mysqldump -uroot -pqwerty --databases my_db test › my_db_test_backup.sql

Резервная копия всех баз данных

Если есть необходимость создать бэкап всех баз данных вашего профайла MySQL, то это можно сделать с помощью параметра –all-databases.

# mysqldump -uroot -pqwerty –all-databases › all-databases_backup.sql

Командная строка: mysqldump -uroot -pqwerty --all-databases › all-databases_backup.sql

Резервная копия отдельной таблицы

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

# mysqldump -uroot -p my_db wp_commentmeta › table_ my_db-wp_commentmeta.sql

Командная строка: mysqldump -uroot -p my_db wp_commentmeta › table_ my_db-wp_commentmeta.sql

Примечание. Чтобы просмотреть список таблиц базы, введите команду:
#mysqlshow –uroot –p my_db

Командная строка: mysqlshow –uroot –p my_db

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

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

Командная строка: mysql -uroot -pqwerty my_db ‹ my_db-dump1.sql
Author: Maxim Cherniga

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)