权限被拒绝

iih3973s  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(399)

我正在尝试将csv文件加载到表中。我收到一个权限被拒绝的错误:

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似乎无法访问该文件。
是的,我知道Joomla2.5已经过时了,但是由于很多原因,这个网站不能升级,只能用于管理功能。
任何建议都是受欢迎的,因为另一种方法是用php读取文件并插入每一行,这样会慢得多。
csv的前4行:

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

nuypyhwy1#

此错误通常是由于未包含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系统目录有关,而不是与试图读取的文件有关。

相关问题