我正在尝试将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"
1条答案
按热度按时间nuypyhwy1#
此错误通常是由于未包含local关键字造成的。尝试:
权限错误是误导性的,它与试图读取mysql系统目录有关,而不是与试图读取的文件有关。