Восстановление MySQL из dump файла на Windows Server
Быстрый ответ
Чтобы восстановить дамп базы данных MySQL, используйте следующую команду:
mysql -u username -p database_name < dump_file.sql
В данной команде username
замените на имя вашего пользователя MySQL, database_name
на название целевой базы данных, а dump_file.sql
на путь к файлу дампа. После запуска команды система запросит ваш пароль MySQL, после чего начнется процесс восстановления.
Подробное руководство по восстановлению
Подготовка к восстановлению
Прежде всего, убедитесь, что у вас предварительно подготовлена база данных для восстановления:
CREATE DATABASE restore_me; /* ☝️ Это примечание для тебя, Арнольд Шварценеггер */
Навигация к командной строке
Перед выполнением команд, перейдите в командной строке к каталогу с mysql.exe
. Если вы используете Windows, обычно он находится по пути C:\Program Files\MySQL\MySQL Server X.X\bin
.
Особенности восстановления из дамп-файлов с несколькими базами данных
Если дамп-файл содержит данные нескольких баз, то перед каждой базой в файле дампа должна быть команда USE database_name;
.
Возможные проблемы
Будьте внимательны к возможным конфликтам версий, поврежденным файлам дампа и непредвиденным ошибкам, которые могут возникнуть в процессе импорта. Желательно сохранять резервные копии до тех пор, пока процесс восстановления не будет завершен и проверен.
Визуализация
Можно аналогично сравнить восстановление базы данных со сборкой замка из Lego из набора отдельных деталей (файл дампа):
🏰🚧 – Строим величественный замок!
mysql -u username -p database_name < dumpfile.sql
📦➡️🏗️➡️🏰 – Шаг за шагом из разрозненных деталей складывается цельная конструкция!
Замок это наша база данных, детали Lego – это данные, а dumpfile.sql – инструкция по сборке!
Детальная инструкция по восстановлению
Восстановление одной базы данных из дампа
Если ваш файл .sql
содержит данные только одной базы данных, примените следующую команду:
mysql -u bobBuilder -p castleDB < singleCastle.sql /* Мы справимся? Да, мы справимся */
Здесь нужно указать только имя пользователя и путь к файлу, database_name
можно опустить, так как название базы данных должно быть указано внутри файла .sql
.
Восстановление дампа нескольких баз данных
Если ваш дамп-файл содержит данные нескольких баз данных, выполните следующую команду:
mysql -u bobBuilder -p < castleVillage.sql /* На этот раз мы восстанавливаем целую деревню, будьте готовы! */
Проверка прав доступа
Убедитесь, что у вашего пользователя MySQL хватает привилегий для доступа к базе данных, чтобы избежать проблем с правами доступа:
GRANT ALL PRIVILEGES ON castleDB.* TO 'bobBuilder'@'localhost' WITH GRANT OPTION; /* Теперь Боб – повелитель этого королевства! */
Ошибки из-за размера файла или проблем с кодировкой
Будьте особенно внимательны с большими дамп-файлами и следите за кодировкой символов. Крайне важно, чтобы операции восстановления и создания дампа выполнялись с одинаковыми настройками сравнения и кодировки символов.
Полезные материалы
- MySQL :: MySQL 8.0 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program – Официальная документация по использованию
mysqldump
для создания резервных копий баз данных MySQL. - How to import an SQL file using the command line in MySQL? – Stack Overflow – Подробные решения и практические примеры пользователей Stack Overflow по использованию командной строки для импорта SQL-файлов.
- How To Import and Export Databases in MySQL or MariaDB | DigitalOcean — Глубоко развернутая инструкция по импорту и экспорту баз данных в MariaDB/MySQL.
- Backing Up MySQL Databases Using mysqldump | Linode Docs – Объемное руководство по использованию
mysqldump
для создания резервных копий баз данных MySQL. - How to Back Up and Restore a MySQL Database {Easy Tutorial} – Окунитесь в основы процесса создания резервной копии и восстановления базы данных MySQL через командную строку.
- MySQL :: MySQL Workbench Manual :: 6.5 Data Export and Import — Официальное справочное руководство от MySQL Workbench с описанием процесса экспорта и импорта данных, включая информацию о резервном копировании.