Как импортировать файл .sql в MySQL?


39

Я пытаюсь импортировать файл .sql, используя MySQL Workbench, и я получаю эту ошибку:

ERROR 1046 (3D000) at line 28: No database selected

Сначала я создал пустую базу данных, которая называется с тем же именем, что и файл .sql, но она не работает. Я также попытался сделать это с клиентом команды mysql, используя:

mysqldump -u root database > file.sql 

Но это говорит об ошибке в моем синтаксисе SQL. Кроме того, я не знаю путь, где я должен установить file.sql.


Мне удалось импортировать mysqldump с помощью нижеприведенного mysql> use mydatabase; mysql> source sql_file.sql;
Giridharan Venugopal

Ответы:


49

Экспорт:

mysqldump -u username –-password=your_password database_name > file.sql

Импорт:

mysql -u username –-password=your_password database_name < file.sql 

9
Там есть не должно быть не пространство между -pиpassword
tombom

Что если у меня нет пароля?

Затем пропустите параметр пароля.
Казимерас Алиулис

Piping ( mysqldump db -uuser -ppass|mysql new_db -uuser -ppass) устраняет необходимость использования промежуточного файла.
Pacerier

2
Я думаю, что база данных должна существовать в MySQL, чтобы это работало.
Нумен

28

Вы также можете импортировать файл .sql как уже подключенный пользователь в базу данных:

mysql> use your_database_name;

mysql> source file.sql;

3
источник D: /path/file.sql; работает превосходно! помните переднюю косую черту вместо обратной косой черты.
Имдад

6

Другой способ импортировать файлы дампа, когда source <filename>он не работает, это сделать следующее:

свалка

~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql

импорт

> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>;  (if you didn't already select)
mysql> \. ~/<export_file_name>.sql

5

Юрген двойка ответ , конечно , правильно; однако, учитывая ваше сообщение об ошибке, вы также можете добавить в свой файл SQL в начале строки, например:

USE your_database_name;

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

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


2

Вы пропустили пароль в команде. Используйте следующее.

mysql --u [username] --password=[password] [database name] < [dump file]

1

Для Windows в каталоге установки сервера MySQL (например C:\Program Files\MySQL\MySQL Server 5.5), в my.ini file, добавьте следующую строку [mysqld]в разделе сервера:

max_allowed_packet = 16M

И сохраните изменения. (Если вам не разрешено сохранять, затем скопируйте и вставьте на рабочий стол и снова отредактируйте, затем вставьте его в то же место.)

После этого перезапустите сервер MySQL.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.