LOAD DATA INFILE с удаленного сервера получает ошибку

Попытка загрузить данные CSV на удаленный MySQL Server, используя следующую команду в MySQL Server 5.5 и используя соединение PHP-5.6 PDO.

LOAD DATA INFILE :file INTO TABLE test_csv COLUMNS 
TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n';

Но я получаю следующую ошибку:

Предупреждение PHP: chown(): невозможно найти uid для mysql в /var/www/proj/csvtodb.php в строке 22 2017-12-26 09:21:18,

SQLSTATE [HY000]: общая ошибка: 13 Не удается получить статистику «/tmp/csvfile-1.csv» (код ошибки: 2)

Пожалуйста, помогите нам решить эту проблему.


person sk2    schedule 26.12.2017    source источник
comment
Находится ли файл на удаленном сервере или на клиентском сервере? Если это на клиентском сервере, вам нужно использовать LOAD DATA LOCAL INFILE.   -  person Barmar    schedule 26.12.2017
comment
Первое предупреждение не имеет ничего общего с запросом MySQL, оно связано с вызовом chown() ранее в сценарии.   -  person Barmar    schedule 26.12.2017
comment
@barmar: файл csv находится только на клиентском сервере   -  person sk2    schedule 26.12.2017


Ответы (1)


Если файл CSV находится на сервере PHP, на котором запущен скрипт, а не на удаленном сервере MySQL, вам необходимо использовать LOAD DATA LOCAL INFILE. LOAD DATA INFILE ищет файл на сервере MySQL.

person Barmar    schedule 26.12.2017
comment
я изменил, как вы сказали, но все равно получаю следующую ошибку Предупреждение PHP: chown(): невозможно найти uid для mysql в /var/www/proj/csvtodb.php в строке 22 Предупреждение PHP: PDOStatement::execute(): LOAD DATA LOCAL INFILE запрещен в /var/www/proj/comm.php в строке 445 - person sk2; 26.12.2017
comment
См. stackoverflow.com/questions/ 7638090/ - person Barmar; 26.12.2017
comment
Ошибка chown() связана с тем, что в /etc/passwd нет имени пользователя mysql, а вы пытаетесь сделать что-то вроде chown($filename, "mysql"); - person Barmar; 26.12.2017
comment
я пробовал с этими решениями stackoverflow. com/questions/7638090/, но все еще получаю ту же ошибку - person sk2; 26.12.2017
comment
Поскольку это какая-то проблема с конфигурацией MySQL, попробуйте задать вопрос на dba.stackexchange.com. - person Barmar; 26.12.2017