MySQL LOAD DATA LOCAL INFILE разница в клиентах - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь выполнить этот запрос

LOAD DATA LOCAL INFILE "C:/myfile.txt"
 IGNORE INTO TABLE mydb.mytable
 FIELDS TERMINATED BY ';'
 OPTIONALLY ENCLOSED BY '"'
 LINES TERMINATED BY '\r\n'

Если я запускаю его в MySQL Workbench (v8.0.16), я получаю сообщение об ошибке

Код ошибки: 1148. Используемая команда не допускается в этой версии MySQL

Однако, если я запускаю его в SQLYog (Professional v12.09), он работает нормально.

Я выполняю оба бита кода, используя один и тот же компьютер, с одним и тем же пользователем, в одной и той же базе данных, работающей на одном сервере.

Этот сервер имеет local_infile = 1

Насколько я могу судить, единственная разница в этих запросах заключается в использовании клиента SQL.

Я предполагаю, что это строка подключения / настройки, которые отличаются между ними по умолчанию, однако я не могу найти никакой документации по этому вопросу.

С чего бы это и как я могу это исправить?

Спасибо

1 Ответ

0 голосов
/ 23 мая 2019

В Linux вы должны запустить клиент MySQL в командной строке как.

mysql -u root -ppassword --local-infile=1

Вы также должны установить local_infile = 1 в файле конфигурации

...