Як імпортувати .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> використовувати mydatabase; mysql> джерело sql_file.sql;
Гірідхаран Венугопаль,

Відповіді:


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) усуває необхідність використовувати проміжний файл.
Пейсьєр

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.