Вопрос: Как мы можем избежать ошибок следующего типа с mysqlimport
, когда файл данных находится в текущем каталоге?
mysqlimport: Error: 13, Can't get stat of '/var/lib/mysql/«dbname»/«tablename».txt' (OS errno 2 - No such file or directory), when using table: «tablename»
Мы используем версию MySQL 8.0.28
.
Фон:
Наша проблема началась с того, что LOAD DATA INFILE
выдала следующую ошибку:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
Эта проблема была решена, следуя совету от https://computingforgeeks.com/how-to-solve-mysql-server-is-running-with-the-secure-file-priv-error/.
По сути, мы отредактировали файл параметров MySQL, чтобы установить secure‐file‐priv = ""
.
Кроме того, мы установили владельца и группу файла mysql
.
С этими изменениями LOAD DATA INFILE
работает как шарм. Однако эти изменения не повлияли на mysqlimport
.
mysqlimport
выдает следующую ошибку:
mysqlimport: Error: 13, Can't get stat of '/var/lib/mysql/«dbname»/«tablename».txt' (OS errno 2 - No such file or directory), when using table: «tablename»
Мы смогли решить проблему, сначала включив ЛОКАЛЬНУЮ возможность для ЗАГРУЗКИ ДАННЫХ.
mysql> SET GLOBAL local_infile = TRUE;
После этого мы начали вызывать mysqlimport
с опцией --local
.