这不再是一个问题....见下文末尾。
我得到以下MySQL错误,而试图从一个文件加载表在一个CRON作业。用户'laurel'@'localhost'被拒绝访问(使用密码:YES)
这是LOAD语句:
$LoadQuery="load data local infile 'http://example.com/~laurel/csvfiles/handicaps.csv'
into TABLE handicap fields terminated by ','";
(IP地址实际上在路径中使用,而不是example.com)LOAD工作时,我在网站内运行它,从URL行和从phpMyAdmin。我可以用这个用户执行CRON作业中的其他所有操作,包括向表插入和删除表。除了LOAD。当我尝试在没有"本地"编码的情况下运行它时,我得到了相同的访问错误。并且,在语句中没有'local',当从网站和phpMyAdmin运行查询时,我收到访问错误。只有当包含'local'时,它才能从网站和phpMyAdmin中工作。
当我从cPanel查看这个用户的权限时,所有特权,以及以下个人特权都被选中:
ALL PRIVILEGES
ALTER CREATE
CREATE ROUTINE CREATE TEMPORARY TABLES
CREATE VIEW DELETE
DROP EXECUTE
INDEX INSERT
LOCK TABLES REFERENCES
SELECT SHOW VIEW
TRIGGER UPDATE
我错过了什么?为什么这个用户不能执行LOAD函数?提前感谢您的帮助
这不再是一个问题。我对LOAD语句做了以下更改,它起作用了:$LoadQuery="加载数据本地inffile "../csvfiles/handicaps.csv"到以','"结尾的TABLE残障字段;
这不再是一个问题。
我对LOAD语句做了以下更改,它工作了:$LoadQuery="加载数据本地inffile "../csvfiles/handicaps.csv"到以','结尾的TABLE残障字段;