Импортируйте файл SQL в MySQL - PullRequest
182 голосов
/ 01 марта 2011

У меня есть база данных под названием nitm.Я не создал никаких таблиц там.Но у меня есть файл SQL, который содержит все необходимые данные для базы данных.Файл nitm.sql находится в C:\ drive.Этот файл имеет размер около 103 МБ.Я использую сервер wamp.

Я использовал следующий синтаксис в консоли MySQL для импорта файла:

mysql>c:/nitm.sql;

Но это не сработало.

Ответы [ 18 ]

397 голосов
/ 29 сентября 2012

Из консоли mysql:

mysql> use DATABASE_NAME;

mysql> source path/to/file.sql;


убедитесь, что перед путем нет косой черты, если вы ссылаетесь на относительный путь ... мне потребовалось время, чтобы осознать это! лол

90 голосов
/ 01 марта 2011

Наконец я решил проблему. Я поместил файл `nitm.sql` в файл` bin` папки `mysql` и использовал следующий синтаксис.

C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql -u root nitm < nitm.sql

И это сработало.

50 голосов
/ 04 ноября 2011

Если вы используете Wamp, вы можете попробовать это.Просто наберите use your_Database_name first.

  1. Щелкните значок сервера wamp, затем найдите MYSQL > MSQL Console и запустите его.

  2. Если у вас нетпароль, просто нажмите Enter и введите:

    mysql> use database_name;
    mysql> source location_of_your_file;
    

    Если у вас есть пароль, вам будет предложено ввести пароль.Сначала введите свой пароль, затем введите:

    mysql> use database_name;
    mysql> source location_of_your_file;
    

location_of_your_file должно выглядеть как C:\mydb.sql

, поэтому рекомендуется mysql> source C: \mydb.sql;

Этот тип импорта дампа sql очень полезен для БОЛЬШОГО ФАЙЛА SQL.

Я скопировал свой файл mydb.sq в каталог C:. Он должен быть заглавнымC: для запуска

и все.

24 голосов
/ 21 января 2014

В Windows, если приведенное выше предложение дает вам ошибку (файл не найден или неизвестен в БД), вы можете удвоить прямую косую черту:

В консоли mysql:

mysql> use DATABASE_NAME;

mysql> source C://path//to//file.sql;
17 голосов
/ 10 октября 2015

Хорошо, я использую Linux, но думаю, что это справедливо и для Windows.Вы можете сделать это либо непосредственно из командной строки

> mysql -u <user name> -p<password> <database name> < sqlfilename.sql

, либо из командной строки mysql, вы можете использовать:

mysql>source sqlfilename.sql

Но оба эти подхода имеют свои преимущества в результатахони показывают.При первом подходе скрипт завершается, как только обнаруживает ошибку.И самое приятное то, что он сообщает вам точный номер строки в исходном файле, где произошла ошибка.Тем не менее, он отображает только ошибки.Если он не обнаружил никаких ошибок, сценарии НИЧЕГО не отображают.Что может немного расстраивать.Потому что вы чаще всего запускаете скрипт с целой кучей команд.

Теперь второй подход (из подсказки mysql) имеет то преимущество, что он отображает сообщение для каждой отдельной команды MySQL в скрипте.Если он сталкивается с ошибками, он отображает сообщение об ошибке mysql, но продолжается через сценарии.Это может быть хорошо, потому что вы можете вернуться и исправить все ошибки, прежде чем снова запустить скрипт.Недостатком является то, что он НЕ отображает номера строк в скрипте, где были обнаружены ошибки.Это может быть немного болью.Но сообщения об ошибках носят описательный характер, поэтому вы, вероятно, сможете выяснить, в чем проблема.

Я, например, предпочитаю подход непосредственно из командной строки.

9 голосов
/ 24 сентября 2013

Если вы используете xampp

C:\xampp\mysql\bin\mysql -uroot -p nitm < nitm.sql
7 голосов
/ 01 марта 2011

Вы почти там используете

mysql> \. c:/nitm.sql;

Вы также можете получить помощь по

mysql> \?
6 голосов
/ 06 января 2016

Для локального хоста на XAMPP. Откройте окно cmd и введите

cd C:\xampp\mysql\bin
mysql.exe -u root -p

Внимание! Без точки с запятой после -p Введите свой пароль и введите

use database_name;

, чтобы выбрать нужную базу данных.

Проверьте, есть ли там ваш стол

show tables;

Импорт из вашего файла sql

source sqlfile.sql;

Я поместил свой файл в папку C: \ xampp \ mysql \ bin, чтобы не перепутать расположение файла sql.

3 голосов
/ 24 января 2015

Не забудьте использовать

charset utf8

Если ваш файл sql находится в utf-8:)

Так что вам нужно сделать:

cmd.exe

mysql -u root

mysql> charset utf8

mysql> использовать mydbname

mysql> источник C: \ myfolder \ myfile.sql

Удачи))

3 голосов
/ 09 мая 2014

В Linux я перешел в каталог, содержащий файл .sql, прежде чем запускать mysql. Системный курсор теперь находится в том же месте, что и файл, и вам не нужен путь. Используйте источник myData.sql, где моя дата заменяется именем вашего файла.

cd whatever directory

mysql - p

подключить targetDB

source myData.sql

Готово

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...