PHP Joomla 2.5 MySQL 加载数据文件 - 权限被拒绝

PHP Joomla 2.5 MySQL Load Data Infile - Permission denied

我正在尝试将 CSV 文件加载到 table。我收到权限被拒绝的错误:

Error importing CSV File: (1045) Access denied for user 'username'@'localhost' 
(using password: YES) 
SQL=LOAD DATA INFILE '//homeX/username/public_html/activator/uploadedCSV/20180603064917_csvtoimport.csv'
  IGNORE INTO TABLE `csv_import_temp` 
  FIELDS TERMINATED BY ',' 
  OPTIONALLY ENCLOSED BY '"' 
  ESCAPED BY '\' 
  LINES TERMINATED BY '\r\n' 
  IGNORE 1 ROWS 
  ( contact_lname, contact_email ) ;

csv 文件存在,权限设置为 0644

SQL语句是:

LOAD DATA INFILE '//homeX/username/public_html/activator/uploadedCSV/20180603064917_csvtoimport.csv'
IGNORE
INTO TABLE `csv_import_temp`
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '\'
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS
(
    contact_lname,
    contact_email
);

我试过在文件名中同时使用前导单斜杠和双斜杠(如上所述)。我也在 phpAdmin 中尝试 运行 它并得到相同的错误消息。

网站托管在 Hostgator 共享帐户上。

我已经添加了代码来验证该文件是否存在并具有正确的权限,它确实如此。但是 MySQL 似乎无法访问该文件。

是的,我知道 Joomla 2.5 已停产,但由于多种原因,该站点无法升级,仅用于管理功能。

欢迎任何建议,因为替代方法是使用 PHP 读取文件并插入每一行,这样会慢得多。

CSV 的前 4 行:

"name","email"
"John Smith","xxx1@yyy.edu"
"John Doe","xxx2@yyy.edu"
"Jane Doe","xxx3@yyy.edu"

这个错误通常是因为您没有包含 LOCAL 关键字。尝试:

LOAD DATA LOCAL INFILE '//homeX/username/public_html/activator/uploadedCSV/20180603064917_csvtoimport.csv'
IGNORE
INTO TABLE `csv_import_temp`
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\'
LINES TERMINATED BY ''
IGNORE 1 ROWS
(
    contact_email,
    contact_email
);

权限错误具有误导性,它与尝试 mysql 系统目录有关,而不是您尝试读取的文件。