it-swarm.com.ru

Как восстановить файл дампа из mysqldump?

Мне дали файл базы данных MySQL, который мне нужно восстановить как базу данных на моем компьютере с Windows Server 2008.

Я пытался использовать MySQL Administrator, но я получил следующую ошибку:

Выбранный файл был сгенерирован mysqldump и не может быть восстановлено это приложение.

Как мне заставить это работать?

471
Zack Peterson

Это должно быть так же просто, как запустить это: 

mysql -u <user> -p < db_backup.dump

Если дамп относится к одной базе данных, вам, возможно, придется добавить строку вверху файла:

USE <database-name-here>;

Если это был дамп многих баз данных, операторы использования уже там.

Чтобы выполнить эти команды, откройте командную строку (в Windows) и cd в каталоге, где находится исполняемый файл mysql.exe (вам, возможно, придется немного поискать его, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета как WAMP). Как только вы окажетесь в этом каталоге, вы сможете просто набрать команду, как у меня выше.

505
Justin Bennett

Если база данных, которую вы хотите восстановить, еще не существует, вам нужно сначала ее создать.

В командной строке, если вы находитесь в том же каталоге, где находится файл дампа, используйте эти команды (с соответствующими заменами):

C:\> mysql -u root -p

mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
650
Dónal

Вам просто нужно запустить это:

mysql -p -u[user] [database] < db_backup.dump

Если дамп содержит несколько баз данных, вы должны опустить имя базы данных:

mysql -p -u[user] < db_backup.dump

Чтобы выполнить эти команды, откройте командную строку (в Windows) и cd в каталоге, где находится исполняемый файл mysql.exe (вам, возможно, придется немного поискать его, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета как WAMP). Как только вы окажетесь в этом каталоге, вы сможете просто набрать команду.

204
vog
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

посмотрите здесь - шаг 3 : таким образом вам не нужно выражение USE

55
womd

Когда мы создаем файл дампа с помощью mysqldump, он содержит большой SQL-скрипт для воссоздания содержимого базы данных. Поэтому мы восстанавливаем его с помощью запуска клиента командной строки MySQL:

mysql -uroot -p 

(где root - это имя нашего администратора для MySQL), и после подключения к базе данных нам нужны команды для создания базы данных и чтения файла в нее:

create database new_db;
use new_db;
\. dumpfile.sql

Детали будут зависеть от того, какие параметры использовались при создании файла дампа.

32
pdc

Я получил его на работу после этих шагов ...

  1. Откройте MySQL Administrator и подключитесь к серверу

  2. Выберите «Каталоги» слева

  3. Щелкните правой кнопкой мыши в нижнем левом поле и выберите «Создать новую схему».

    Администратор MySQL http://img204.imageshack.us/img204/7528/adminsx9.th.gifувеличить изображение

  4. Назовите новую схему (пример: "dbn")

    Новая схема MySQL http://img262.imageshack.us/img262/4374/newwa4.th.gifувеличить изображение

  5. Откройте командную строку Windows (cmd)

    Командная строка Windows http://img206.imageshack.us/img206/941/startef7.th.gifувеличить изображение

  6. Перейдите в папку установки MySQL

  7. Выполнить команду:

    mysql -u root -p dbn < C:\dbn_20080912.dump
    

    … Где «root» - это имя пользователя, «dbn» - это имя базы данных, а «C:\dbn_20080912.dump» - это путь/имя файла mysqldump .dump.

    командная строка восстановления дампа MySQL http://img388.imageshack.us/img388/2489/cmdjx0.th.gifувеличить изображение

  8. Наслаждайтесь!

14
Zack Peterson

Запустите команду для входа в БД 

 # 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 -u root -p 

Затем введите в БД и введите

mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
14
Javeed Shakeel

Вы можете попробовать SQLyog «Выполнить скрипт SQL» для импорта файлов sql/dump. 

enter image description here

12
Ashwin A

Если вы хотите просмотреть ход выполнения дампа, попробуйте это:

pv -i 1 -p -t -e/path/to/sql/dump | mysql -u USERNAME -p DATABASE_NAME

Вам, конечно, нужно установить 'pv'. Эта команда работает только на * nix.

10
Hengjie
./mysql -u <username> -p <password> -h <Host-name like localhost> <database-name> < db_dump-file
10
vkrishna17

В качестве конкретного примера предыдущего ответа:

Мне нужно было восстановить резервную копию, чтобы я мог импортировать/перенести ее в SQL Server. Я установил только MySql, но не зарегистрировал его как службу и не добавил его в свой путь, так как у меня нет необходимости поддерживать его работу. 

Я использовал Windows Explorer, чтобы поместить мой файл дампа в C:\code\dump.sql. Затем открыл MySql из пункта меню «Пуск». Создал БД, затем запустил команду источника с полным путем, вот так:

mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
9
Michael

Используя файл дампа 200 МБ, созданный в Linux для восстановления в Windows w/mysql 5.5, я добился большего успеха с

source file.sql

подход от MySQL Подскажите, чем с

mysql  < file.sql

подход в командной строке, что вызвало некоторые ошибки 2006 "сервер ушел" (на окнах)

Как ни странно, служба, созданная во время (mysql) установки, ссылается на файл my.ini, который не существует. Я скопировал «большой» файл примера в my.ini , Который я уже модифицировал с помощью рекомендованных увеличений. 

Мои ценности

[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
7
Jerome_B

Вы не можете использовать меню Восстановления в MySQL Admin, если резервная копия/дамп не была создана оттуда. Хотя стоит попробовать. Если вы решите «игнорировать ошибки» с помощью этого флажка, он скажет, что он завершился успешно, хотя он явно завершает работу с импортированной только частью строк ... это с дампом, учтите.

4
jerotas

Однострочная команда для восстановления сгенерированного SQL из mysqldump

mysql -u <username> -p<password> -e "source <path to sql file>;"
3
Jossef Harush

Вы также можете использовать меню восстановления в MySQL Administrator. Вам просто нужно открыть файл резервной копии, а затем нажать кнопку восстановления.

1
user26087

Как восстановить базу данных MySQL с MySQLWorkbench

Вы можете запустить сброс и создать команды на вкладке запроса.

Удалите схему, если она существует в данный момент

DROP DATABASE `your_db_name`;

Создать новую схему

CREATE SCHEMA `your_db_name`;

Откройте файл дампа

 MySQLWorkbench open sql file

  1. Нажмите откройте сценарий SQL на новой вкладке запроса и выберите файл дампа базы данных.
  2. Затем нажмите Запустить сценарий SQL ...
  3. Затем он позволит вам предварительно просмотреть первые строки сценария дампа SQL.
  4. Затем вы выберете Имя схемы по умолчанию
  5. Затем выберите Набор символов по умолчанию utf8, как правило, является безопасной ставкой, но вы можете разглядеть ее по просмотру строк предварительного просмотра для чего-то вроде character_set.
  6. Нажмите Выполнить
  7. Будьте терпеливы в отношении сценариев восстановления больших БД и наблюдайте, как место на диске тает! ????
0
CTS_AE