MySQL: резервное копирование и восстановление базы данных с mysqldump

В этой статье вы найдете простые и эффективные способы создания резервной копии и восстановления базы данных MySQL при помощи утилиты mysqldump. Если вы хотите сохранить свои данные или восстановить их в случае потери, то эта статья для вас! Мы предоставим вам подробное экспертное руководство по созданию резервной копии и восстановлению базы данных MySQL с использованием mysqldump, а также дадим ценные советы и рекомендации.

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

Перейти к просмотру
Методы восстановления базы данных MySQL, MSSQL и Oracle ⚕️👨‍💻🖥️

Методы восстановления базы данных MySQL, MSSQL и Oracle ⚕️👨‍💻🖥️

Перейти к просмотру
Восстановление удаленной или поврежденной базы данных 1C: крах, ошибки 💥 🥇 ⚕️

Восстановление удаленной или поврежденной базы данных 1C: крах, ошибки 💥 🥇 ⚕️

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

Параметр Описание
Название mysqldump
Назначение Утилита для создания резервных копий баз данных MySQL и MariaDB.
Тип резервной копии Логический экспорт данных в формате SQL-скрипта.
Формат экспорта SQL, подходящий для восстановления базы данных с помощью команды mysql.
Основные функции – Экспорт данных из одной или нескольких баз данных
– Экспорт структуры таблиц и данных
– Возможность экспорта только структуры или только данных
– Сжатие вывода с помощью утилит, таких как gzip
Ключевые параметры --databases: Экспорт указанных баз данных
--add-drop-table: Добавление команды DROP TABLE перед CREATE TABLE
--no-data: Экспорт только структуры таблиц
--routines: Экспорт хранимых процедур и функций
--single-transaction: Обеспечение консистентного состояния данных при экспорте
Примеры использования – Экспорт одной базы данных: mysqldump -u root -p database_name > backup.sql
– Экспорт нескольких баз данных: mysqldump -u root -p --databases db1 db2 > backup.sql
– Экспорт всей системы: mysqldump -u root -p --all-databases > full_backup.sql
Преимущества – Простота использования
– Возможность настройки параметров экспорта
– Подходит для миграции данных между серверами
Ограничения – Медленная работа с большими объёмами данных
– Требуется достаточно места для хранения SQL-скрипта
– Может привести к нагрузке на сервер при экспорте
Альтернативы Percona XtraBackup, mysqlpump, физическое копирование данных

Базовыми командами для создания резервной копии и восстановления базы данных 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:UsersValeryDocumentsMySQL_Backupmy_db-dump2.sql

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

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

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

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

Например:

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

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

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

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

show databases

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

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

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

# mysqldump -uroot -pqwerty --all-databases > all-databases_backup.sql

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

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

Также можно создать резервную копию отдельной таблицы базы данных. В случае, если необходимо создать копию таблицы 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
Vladimir Mareev

Автор: , Технический писатель

Владимир Мареев - автор и переводчик технических текстов в компании Hetman Software. Имеет тринадцатилетний опыт в области разработки программного обеспечения для восстановления данных, который помогает ему создавать понятные статьи для блога компании. Спектр публикаций довольно широк и не ограничивается только лишь темой программирования. Статьи включают также разнообразные обзоры новинок рынка компьютерных устройств, популярных операционных систем, руководства по использованию распространенных и специфических программ, примеры решений возникающих системных или аппаратных проблем и многие другие виды публикаций.

Michael Miroshnichenko

Редактор: , Технический писатель

Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.

Рекомендуем для вас

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат