Как восстановить дамп-файл из mysqldump?
Я получил файл базы данных MySQL, который нужно восстановить в качестве базы данных на моем сервере Windows 2008.
Я пытался использовать MySQL Administrator, но получил следующую ошибку:
The selected file was generated by mysqldump and cannot be restored by this application.
Как мне это исправить?
5 ответ(ов)
Если база данных, которую вы хотите восстановить, еще не существует, сначала вам нужно её создать.
В командной строке, находясь в той же директории, где находится файл резервной копии, выполните следующие команды (с соответствующими заменами):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
Здесь вы подключаетесь к MySQL как пользователь root
, создаете новую базу данных с именем mydb
, выбираете её, а затем загружаете данные из файла резервной копии db_backup.dump
. Не забудьте заменить имена базы данных и файла на ваши собственные.
Это должно быть так же просто, как выполнить следующую команду:
mysql -u <пользователь> -p < db_backup.dump
Если дамп представляет собой отдельную базу данных, вам может понадобиться добавить строку в верхней части файла:
USE <имя_базы_данных>;
Если это был дамп нескольких баз данных, команды USE
уже будут присутствовать в файле.
Чтобы выполнить эти команды, откройте командную строку (в Windows) и перейдите в каталог, где находится исполняемый файл mysql.exe
(вам, возможно, придется немного поискать, это зависит от того, как вы устанавливали MySQL, то ли отдельно, то ли как часть пакета, такого как WAMP). Как только вы окажетесь в этом каталоге, вы сможете просто ввести команду так, как я привёл выше.
Вам просто нужно выполнить следующую команду:
mysql -p -u[пользователь] [база_данных] < db_backup.dump
Если дамп содержит несколько баз данных, укажите только файл дампа, не указывая имя базы данных:
mysql -p -u[пользователь] < db_backup.dump
Чтобы выполнить эти команды, откройте командную строку (в Windows) и перейдите в директорию, где находится исполняемый файл mysql.exe
(возможно, вам придется немного поищить его, это зависит от способа установки MySQL, например, как отдельного приложения или в составе пакета, такого как WAMP). Как только вы окажетесь в этой директории, просто введите команду.
Когда мы создаём дамп-файл с помощью mysqldump
, он представляет собой большой SQL-скрипт для воссоздания содержимого базы данных. Для восстановления данных мы используем командную строку MySQL:
mysql -uroot -p
(где root
— это имя нашего администратора MySQL). После подключения к базе данных нам нужны команды для создания базы данных и загрузки в неё файла:
create database new_db;
use new_db;
\. dumpfile.sql
Детали могут варьироваться в зависимости от опций, использованных при создании дамп-файла.
Для того чтобы выполнить команду и войти в базу данных, используйте следующую команду:
# mysql -u root -p
Введите пароль для пользователя. Затем создайте новую базу данных:
mysql> create database MynewDB;
mysql> exit;
После этого выполните следующую команду, чтобы импортировать данные:
# mysql -u root -p MynewDB < MynewDB.sql
Затем снова войдите в базу данных и выполните следующие команды:
mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit;
Вот и всё... Ваш дамп будет восстановлен из одной базы данных в другую.
Также есть альтернативный способ восстановления дампа:
Войдите в MySQL:
# mysql -u root -p
Создайте базу данных и используйте следующий набор команд:
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit;
Таким образом, ваш дамп также будет восстановлен успешно.
SQL: выбрать только строки с максимальным значением в столбце
Сброс начального значения идентификатора после удаления записей в SQL Server
Когда использовать одинарные кавычки, двойные кавычки и обратные кавычки в MySQL
Postgres: Как повысить пользователя до суперпользователя?
Как временно отключить ограничение внешнего ключа в MySQL?