Вопрос по mysql, database, sql – Как восстановить файл дампа из mysqldump?

476

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

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

The selected file was generated by mysqldump and cannot be restored by this application.

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

Ваш Ответ

16   ответов
32

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

mysql -uroot -p 

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

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

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

Error: User Rate Limit Exceededmysql.exeError: User Rate Limit Exceeded
10

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

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

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

4

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

7

созданный в 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
1

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

10
./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
512

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

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

USE <database-name-here>;

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

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Zack Peterson
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededmysql -u<user> -p mydatabasename < db_backup.dumpError: User Rate Limit ExceededUSEError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Zack Peterson
206

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

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

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

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

9

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

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

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

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

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

C:\> mysql -u root -p

mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededmysql -u root -psecretError: User Rate Limit Exceeded-pError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded-pError: User Rate Limit ExceededsecretError: User Rate Limit Exceeded
12

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

enter image description here

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
14

Open MySQL Administrator and connect to server

Select "Catalogs" on the left

Right click in the lower-left box and choose "Create New Schema"

MySQL Administrator http://img204.imageshack.us/img204/7528/adminsx9.th.gif enlarge image

Name the new schema (example: "dbn")

MySQL New Schema http://img262.imageshack.us/img262/4374/newwa4.th.gif enlarge image

Open Windows Command Prompt (cmd)

Windows Command Prompt http://img206.imageshack.us/img206/941/startef7.th.gif enlarge image

Change directory to MySQL installation folder

Execute command:

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

…where "root" is the name of the user, "dbn" is the database name, and "C:\dbn_20080912.dump" is the path/filename of the mysqldump .dump file

MySQL dump restore command line http://img388.imageshack.us/img388/2489/cmdjx0.th.gif enlarge image

Enjoy!

0

How to Restore MySQL Database with MySQLWorkbench

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

Drop the Schema if it Currently Exists

DROP DATABASE `your_db_name`;

Create a New Schema

CREATE SCHEMA `your_db_name`;

Open Your Dump File

MySQLWorkbench open sql file

  1. Click the Open an SQL script in a new query tab icon and choose your db dump file.
  2. Then Click Run SQL Script...
  3. It will then let you preview the first lines of the SQL dump script.
  4. You will then choose the Default Schema Name
  5. Next choose the Default Character Set utf8 is normally a safe bet, but you may be able to discern it from looking at the preview lines for something like character_set.
  6. Click Run
  7. Be patient for large DB restore scripts and watch as your drive space melts away!
15

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

 # 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

Вот и все ........ Ваш дамп будет восстановлен из одной БД в другую БД

Or else there is an Alternate way for dump restore

# mysql -u root -p 

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

mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
55
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

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

3

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

mysql -u <username> -p<password> -e "source <path to sql file>;"
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededmysql -u root -p12345678 -e "source /tmp/backup.sql;"

Похожие вопросы