Вопрос по mysql, database, sql – Как восстановить файл дампа из mysqldump?
Мне дали файл базы данных MySQL, который мне нужно восстановить как базу данных на моем компьютере с Windows Server 2008.
Я пытался использовать MySQL Administrator, но я получил следующую ошибку:
The selected file was generated by mysqldump and cannot be restored by this application.
Как мне заставить это работать?
Когда мы делаем файл дампа сmysqldump
, что он содержит, это большой сценарий SQL для воссоздания содержимого базы данных. Поэтому мы восстанавливаем его с помощью запуска клиента командной строки MySQL:
mysql -uroot -p
(гдеroot
наше имя пользователя администратора для MySQL), и после подключения к базе данных нам нужны команды для создания базы данных и чтения файла в нее:
create database new_db;
use new_db;
\. dumpfile.sql
Детали будут зависеть от того, какие параметры использовались при создании файла дампа.
созданный в 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
mysql -u <user> -p < db_backup.dump
Если дамп относится к одной базе данных, вам, возможно, придется добавить строку вверху файла:
USE <database-name-here>;
Если это был дамп многих баз данных, операторы использования уже там.
Чтобы выполнить эти команды, откройте командную строку (в Windows) иcd
в каталог, гдеmysql.exe
исполняемый файл (вам, возможно, придется немного поискать его, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета, такого как WAMP). Как только вы окажетесь в этом каталоге, вы сможете просто набрать команду, как у меня выше.
mysql -p -u[user] [database] < db_backup.dump
Если дамп содержит несколько баз данных, вы должны опустить имя базы данных:
mysql -p -u[user] < db_backup.dump
Чтобы выполнить эти команды, откройте командную строку (в Windows) иcd
в каталог, гдеmysql.exe
исполняемый файл (вам, возможно, придется немного поискать его, это будет зависеть от того, как вы установили mysql, то есть автономно или как часть пакета, такого как WAMP). Как только вы окажетесь в этом каталоге, вы сможете просто набрать команду.
Мне нужно было восстановить резервную копию, чтобы я мог импортировать / перенести ее в SQL Server. Я установил только MySql, но не зарегистрировал его как службу или не добавил его в свой путь, поскольку у меня нет необходимости поддерживать его работу.
Я использовал проводник Windows, чтобы поместить мой файл дампа в C: \ code \ dump.sql. Затем открыл MySql из пункта меню «Пуск». Создал БД, затем запустил команду источника с полным путем, вот так:
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
которую вы хотите восстановить, еще не существует, вам нужно сначала ее создать.
В командной строке, если вы находитесь в том же каталоге, где находится файл дампа, используйте эти команды (с соответствующими заменами):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
SQLyog «Выполнить сценарий SQL» инструмент для импорта файлов sql / dump.
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!
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
- Click the Open an SQL script in a new query tab icon and choose your db dump file.
- Then Click Run SQL Script...
- It will then let you preview the first lines of the SQL dump script.
- You will then choose the Default Schema Name
- 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.
- Click Run
- Be patient for large DB restore scripts and watch as your drive space melts away!
Запустите команду для входа в БД
# 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
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
смотретьздесь - шаг 3: таким образом, вам не нужно заявление USE