Ответ 1
С помощью xampp, я думаю, вам нужно использовать полный путь в командной строке, что-то вроде этого, возможно:
C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
У меня есть большой (~ 150 МБ) sql файл, который я пытаюсь импортировать. Это слишком велико, чтобы сделать это через PHPMyAdmin, даже разбивая его на многие части, и он слишком велик для импорта через php script, поскольку он истекает через 30 секунд после обработки script. Поэтому я ищу, как напрямую импортировать файл из командной строки MySQL.
Поиск в Интернете показывает, что я хочу либо использовать database_name < file_name.sql
, либо source file_name.sql
, но я не могу заставить их работать.
Использование <
дает общую ошибку синтаксиса MySQL при использовании source
дает немного более перспективный failed to open file 'file_name.sql', error: 2
, поэтому я склонен думать, что команда источника находится на правильном пути.
Я в Windows и использую xampp в качестве сервера localhost (обратите внимание, что я пытаюсь импортировать этот файл на localhost, чтобы я мог выполнить sql). Я попытался разместить файл в xampp\mysql\bin
и xampp\mysql\data\database_name
.
Приветствуются любые предложения о том, как импортировать этот .sql файл в MySQL из командной строки MySQL или любым другим способом.
С помощью xampp, я думаю, вам нужно использовать полный путь в командной строке, что-то вроде этого, возможно:
C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
В Windows это должно работать (обратите внимание на форвард-лайт и что весь путь не цитируется и что пробелы разрешены)
USE yourdb;
SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;
Не используйте "source"
, он предназначен для запуска небольшого количества sql queries
и отображения вывода, а не для импорта больших баз данных.
Я использую Wamp Developer
(не XAMPP
), но он должен быть таким же.
То, что вы хотите сделать, это использовать MySQL Client
, чтобы сделать работу за вас.
MySQL
работает.phpMyAdmin
или MySQL shell
.cmd.exe
и перейдите в каталог, в котором находится файл sql
находится в.mysql -u root -p database_name_here < dump_file_name_here.sql
database name
и dump file name
.MySQL root account password
при появлении запроса (если пароль не установлен, удалите переключатель "-p").Это предполагает, что mysql.exe
может быть расположен через путь к среде, и что файл sql
находится в каталоге, из которого вы его запускаете. В противном случае используйте полные пути.
Вариант 1. вы можете сделать это с помощью одного cmd, где D - моя папка установки xampp или wampp, поэтому я использую его, где mysql.exe install и имя базы данных второго параметра, а last - файл 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)
затем нажмите ввод
Это полная команда
C:\Users\shafiq;
C:\xampp\mysql\bin
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
mysql-> use test
mysql->source test.sql
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql
Это помогло мне импортировать 400 МБ файл в мою базу данных.
В моей настройке Xampp я смог использовать следующее для импорта базы данных в MySQL:
C:\xampp\mysql\bin\mysql -u {username goes here} -p {leave password blank} {database name} < /path/to/file.sql [enter]
Мой личный опыт на моей локальной машине был следующим:
Имя пользователя: Корень
Имя базы данных: testdatabase
Расположение файла SQL: databasebackup.sql находится на моем рабочем столе
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql
Это помогло мне импортировать мой 1GB + файл в мою базу данных.
Имя пользователя с правами пользователя без пароля
mysql -h localhost -u root databasename < dump.sql
Я столкнулся с проблемой на моем локальном хосте, так как у меня нет пароля для пользователя root. Вы можете использовать его без пароля -p, как указано выше. Если он запрашивает пароль, просто нажмите enter.
используйте команду mysql source
, чтобы избежать сбоев перенаправления, особенно в окнах.
mysql [-u <username>] [-p<password>] <databasename> -e "source /path/to/dump.sql"
где e для команды "Выполнение"
В Windows, пожалуйста, не забудьте использовать двойную кавычку для команды sql.
Однако либо обратная косая черта \, либо слэш/будет работать в Windows.
Для импорта большого файла 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 пароль, тогда они попросили пароль, просто введите пароль, и ваш файл будет импортирован.
На окнах: Используйте проводник, чтобы перейти к папке с файлом .sql. Введите cmd в верхней адресной строке. Cmd откроется. Тип:
"C:\path\to\mysql.exe" -u "your_username" -p "your password" < "name_of_your_sql_file.sql"
Подождите немного, и файл sql будет выполнен в вашей базе данных. Подтвердили работу с MariaDB в фев 2018.
Здравствуйте, у меня была та же проблема, но я перепробовал много разных состояний и пришел к ней: ИСТОЧНИК не работает с; в конце в моем случае:
SOURCE D:\Barname-Narmafzar\computer programming languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql;
и ошибка была:
ERROR: Unknown command '\B'.
'>
это также не работало с цитатой для адреса.
Но это работает без; в конце:
SOURCE D:\Barname-Narmafzar\computer programming languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql
Но не забудьте использовать USE database_name; до этого. Я так думаю, потому что SOURCE, USE или HELP предназначены для самого Mysql, и они не являются такими кодами запросов, хотя, когда вы пишете HELP, он говорит:
Msgstr "Обратите внимание, что все текстовые команды должны быть сначала в строке и заканчиваться символом;".
но здесь не работает.
Я должен сказать, что я сделал это в CMD, и я не пробовал это в Mysql Workbench. Это было так