Как вы используете исходную команду MySQL для импорта больших файлов в Windows - PullRequest
49 голосов
/ 28 мая 2011

У меня есть большой (~ 150 МБ) файл sql, который я пытаюсь импортировать.Он слишком велик, чтобы делать это через PHPMyAdmin, даже разбивая его на множество частей, и он слишком велик для импорта через скрипт php, так как время его ожидания истекло после 30 секунд обработки скрипта.Поэтому я ищу, как напрямую импортировать файл из командной строки MySQL.

Поиск в Интернете показывает, что я хочу использовать database_name < file_name.sql или source file_name.sql, но не могу заставить работать ни один из них.

Использование < приводит к общей синтаксической ошибке MySQLпри использовании source дают чуть более многообещающий failed to open file 'file_name.sql', error: 2, поэтому я склонен думать, что команда source находится на правильном пути.

Я в Windows и использую xampp в качестве сервера localhost (обратите внимание, яя только пытаюсь импортировать этот файл на локальный хост, чтобы я мог выполнить sql).Я попытался поместить файл в xampp\mysql\bin и xampp\mysql\data\database_name.

. Любые предложения о том, как импортировать этот файл .sql в MySQL, либо из командной строки MySQL, либо с помощью любых других средств, будут с благодарностью.

Ответы [ 10 ]

54 голосов
/ 28 мая 2011

С xampp я думаю, что вам нужно использовать полный путь в командной строке, что-то вроде этого, возможно:

C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
36 голосов
/ 15 февраля 2014

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

USE yourdb;

SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;

34 голосов
/ 28 мая 2011

Не используйте "source", он предназначен для запуска небольшого числа sql queries и отображения вывода, а не для импорта больших баз данных.

Я использую Wamp Developer (не XAMPP)но оно должно быть таким же.

То, что вы хотите сделать, это использовать MySQL Client, чтобы сделать работу за вас.

  1. Убедитесь, что MySQL запущен.
  2. Создайте базу данных с помощью phpMyAdmin или MySQL shell.
  3. Затем запустите cmd.exe и перейдите в каталог, в котором находится файл sql.
  4. Выполните: mysql -u root -p database_name_here < dump_file_name_here.sql
  5. Замените в своих database name и dump file name.
  6. Введите ваш MySQL root account password при появлении запроса (если пароль не установлен, удалите ключ "-p").

Предполагается, что mysql.exe можно найти через путь к среде, а файл sql находится в каталоге, из которого вы его запускаете.В противном случае используйте полные пути.

10 голосов
/ 23 января 2014

Вариант 1. Вы можете сделать это, используя один cmd, где D - моя папка установки xampp или wampp, поэтому я использую это, когда mysql.exe устанавливает и имя базы данных второй опции, а последний - файл sql, поэтому замените его.затем запустите

D:\xampp\mysql\bin\mysql.exe -u root -p databse_name < D:\yoursqlfile.sql

Вариант 1 для wampp

D:\wamp64\bin\mysql\mysql5.7.14\bin\mysql.exe -u root -p databse_name< D:\yoursqlfile.sql

измените папку и версию mysql

Вариант 2 Предположим, что ваш текущий путь показывает командную строку

C:\Users\shafiq;

, затем измените каталог, используя cd.., затем перейдите в каталог mysql, в котором установлен xampp.Тогда cd.. для смены каталога.затем перейдите в папку bin.

C:\xampp\mysql\bin;

C:\xampp\mysql\bin\mysql -u {username} -p {database password}. Затем введите пароль, когда увидите пароль в командной строке.

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

mysql->use test (where database name test) 

, затем поместите исходный sql в папку bin.

, тогда последняя команда будет

mysql-> source test.sql (where test.sql is file name which need to import)

, затем нажмите enter

Это полная команда

C:\Users\shafiq;
C:\xampp\mysql\bin
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
 mysql-> use test
 mysql->source test.sql
4 голосов
/ 20 июня 2015
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql

Это помогло мне импортировать файл размером 400 МБ в мою базу данных.

1 голос
/ 26 февраля 2019

Для импорта большого файла SQL с помощью командной строки в MySQL.

Сначала перейдите к пути к файлу в командной строке.Затем

Опция 1:

mysql -u {user_name} -p{password} {database_name}  < your_file.sql

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

Готово. Ваш файл будетимпортировано.

Вариант 2:

mysql -u {user_name} -p {database_name}  < your_file.sql

в этом случае вы не предоставите пароль sql, тогда они попросили пароль, просто введите пароль, и ваш файл будет импортирован.

1 голос
/ 22 ноября 2017

используйте команду mysql source, чтобы избежать ошибок перенаправления, особенно в Windows.

mysql [-u <username>] [-p<password>] <databasename> -e "source /path/to/dump.sql"

, где e для "Выполнить команду"

В Windows, пожалуйста, не забудьте использовать двойную кавычку дляКоманда sql.

Однако обратная косая черта \ или косая черта / будут работать в Windows.

1 голос
/ 10 июня 2016

Имя пользователя как root без пароля

mysql -h localhost -u root databasename < dump.sql

Я столкнулся с проблемой на локальном хосте, так как у меня нет пароля для пользователя root.Вы можете использовать его без пароля -p, как указано выше.Если он запрашивает пароль, просто нажмите Enter.

1 голос
/ 11 апреля 2013

На моей установке Xampp я смог использовать следующее для импорта базы данных в MySQL:

C:\xampp\mysql\bin\mysql -u {username goes here} -p {leave password blank} {database name} < /path/to/file.sql [enter]

Мой личный опыт работы на моей локальной машине был следующим: Имя пользователя: Root Имя базы данных: база данных тестов Расположение файла SQL: databasebackup.sql находится на моем рабочем столе

C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql 

Это помогло мне импортировать файл размером 1 ГБ + в мою базу данных.

0 голосов
/ 25 февраля 2018

на окнах: Используйте проводник, чтобы перейти к папке с файлом .sql. Введите cmd в верхней адресной строке. Cmd откроется. Тип:

"C:\path\to\mysql.exe" -u "your_username" -p "your password" < "name_of_your_sql_file.sql"

Подождите немного, и файл sql будет выполнен в вашей базе данных. Подтверждено сотрудничество с MariaDB в феврале 2018 года.

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