使用LOAD DATA INFILE时为什么会出错?

时间:2011-06-01 01:15:02

标签: mysql sql macos load-data-infile mysql-error-1045

我正在尝试使用SQL将笔记本电脑上的csv文件上传到数据库,但是我收到了一个奇怪的错误。我在phpMyAdmin的SQL窗口中输入的代码如下:

LOAD DATA INFILE '/Users/myMac/testServerUpload.csv' 
INTO TABLE `testDatabase` 
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'

但是我收到以下错误:

Error

SQL query:

LOAD DATA INFILE '/Users/myMac/testServerUpload.csv' INTO TABLE `testDatabase` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'

MySQL said: Documentation
#1045 - Access denied for user 'ukld'@'%' (using password: YES) 

我是否应该使用LOAD DATA LOCAL INFILE而不是当前命令,因为文件在我的计算机上?两者都给我一个错误,我认为LOCAL可能意味着它在服务器上。我找不到相关的建议来搜索这个错误。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题并使用LOCAL修复了它并提供了完整的文件路径:

'C:/directory/file.csv' 

似乎1045错误来自无法访问服务器上的文件,如果未指定LOCAL,mySQL会查找该文件。

另见:

答案 1 :(得分:0)

您需要以root身份登录并运行:

SHOW GRANTS FOR 'ukld'@'%';

您可能没有您认为自己执行的权限...您需要对您尝试{0.0}的数据库和表格的INSERT权限。


<强>更新

要更正GRANT问题,请在MySQL安装中以 以root身份 运行这些语句:

LOAD DATA

确保在第二个语句中设置了正确的密码。