Как восстановить файл дампа из mysqldump?
Мне дали файл базы данных MySQL, который мне нужно восстановить в качестве базы данных на моей машине Windows Server 2008.
Я попытался использовать MySQL Administrator, но получил следующую ошибку:
выбранный файл был создан mysqldump и не может быть восстановлен это приложение.
Как мне заставить это работать?
15 ответов
это должно быть так же просто, как запустить это:
mysql -u <user> -p < db_backup.dump
если дамп состоит из одной базы данных, вам может потребоваться добавить строку в верхней части файла:
USE <database-name-here>;
если это был дамп многих баз данных, операторы use уже там.
чтобы запустить эти команды, откройте командную строку (в Windows) и cd
в каталог, где mysql.exe
исполняемый файл (возможно, вам придется немного поискать его, это будет зависеть от того, как вы установили mysql, т. е. автономный или как часть пакета, такого как WAMP). Как только вы окажетесь в этом каталоге, вы сможете просто ввести команду, как у меня есть выше.
если база данных, которую вы хотите восстановить, еще не существует, сначала ее необходимо создать.
в командной строке, если вы находитесь в том же каталоге, который содержит сброшенный файл, используйте следующие команды (с соответствующими подстановками):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
вам просто нужно выполнить это:
mysql -p -u[user] [database] < db_backup.dump
если дамп содержит несколько баз данных, вы должны опустить имя базы данных:
mysql -p -u[user] < db_backup.dump
чтобы запустить эти команды, откройте командную строку (в Windows) и cd
в каталог, где mysql.exe
исполняемый файл (возможно, вам придется немного поискать его, это будет зависеть от того, как вы установили mysql, т. е. автономный или как часть пакета, например WAMP). Как только вы окажетесь в этом каталоге, вы сможете просто ввести команду.
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
посмотреть здесь - Шаг 3: таким образом, вам не нужен оператор USE
когда мы делаем файл дампа с mysqldump
, что он содержит большой SQL-скрипт для воссоздания содержимого базы данных. Поэтому мы восстанавливаем его, используя запуск клиента командной строки MySQL:
mysql -uroot -p
(где root
- это имя пользователя нашего администратора для MySQL), и после подключения к базе данных нам нужны команды для создания базы данных и чтения файла в ней:
create database new_db;
use new_db;
\. dumpfile.sql
детали будут отличаться в зависимости от того, какие параметры использовались при создании файла дампа.
Я заставил его работать, следуя этим шагам...
откройте MySQL Administrator и подключитесь к серверу
выберите "каталоги" слева
-
щелкните правой кнопкой мыши в левом нижнем поле и выберите "Создать новую схему"
администратор MySQL http://img204.imageshack.us/img204/7528/adminsx9.th.gifувеличить изображение
-
назовите новую схему (пример: "dbn")
новая схема MySQL http://img262.imageshack.us/img262/4374/newwa4.th.gifувеличить изображение
-
открыть командную строку Windows (cmd)
Командная строка Windows http://img206.imageshack.us/img206/941/startef7.th.gifувеличить изображение
изменить каталог в папку установки MySQL
-
выполнить команда:
mysql -u root -p dbn < C:\dbn_20080912.dump
...где "root" - это имя пользователя, "dbn" - это имя базы данных, и "C:\dbn_20080912 - ... дамп " - это путь / имя файла mysqldump .файл дампа
командная строка восстановления дампа MySQL http://img388.imageshack.us/img388/2489/cmdjx0.th.gifувеличить изображение
наслаждайтесь!
вы можете попробовать SQLyog инструмент "Execute SQL script" для импорта файлов sql/dump.
Если вы хотите просмотреть ход выполнения дампа, попробуйте следующее:
pv-i 1-p-t-e /path/to/sql/dump | mysql-u имя пользователя-P DATABASE_NAME
вам, конечно, нужно установить "pv". Эта команда работает только на *Nix.
в качестве конкретного примера предыдущего ответа:
Мне нужно было восстановить резервную копию, чтобы я мог импортировать / перенести ее в SQL Server. Я установил только MySql, но не зарегистрировал его как сервис или не добавил его в свой путь, поскольку у меня нет необходимости поддерживать его.
я использовал проводник windows, чтобы поместить файл дампа в C:\code\dump - ... язык SQL. Затем открыл MySql из пункта меню Пуск. Создал БД, затем запустил исходную команду с полным путем следующим образом:
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
выполните команду для входа в БД
# mysql -u root -p
введите пароль для пользователя, затем создайте новый DB
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 -u root -p
затем войдите в БД и тип
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
используя файл дампа 200 МБ, созданный в Linux для восстановления в Windows w / mysql 5.5, у меня было больше успеха с
source file.sql
подход из приглашения mysql, чем с
mysql < file.sql
подход в командной строке, что вызвало некоторую ошибку 2006 "сервер ушел" (в windows)
странно, служба, созданная во время (mysql) install, относится к my.ini-файл, который не существует. Я скопировал "большой" пример файла в моих.Ини который я уже изменил с рекомендуемым увеличением.
мои ценности
[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
вы не можете использовать меню восстановления в MySQL Admin, если резервная копия / дамп не был создан оттуда. Хотя попробовать стоит. Если вы решите "игнорировать ошибки" с флажком для этого, он скажет, что он успешно завершен, хотя он явно выходит только с частью импортированных строк...это с помойкой, заметьте.
однострочная команда для восстановления сгенерированного SQL из mysqldump
mysql -u <username> -p<password> -e "source <path to sql file>;"
вы также можете использовать меню восстановления в MySQL Administrator. Вам просто нужно открыть резервный файл,а затем нажмите кнопку Восстановить.