为什么在使用LOAD DATA INFILE时出现错误?

| 我正在尝试使用
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
而不是当前命令,因为文件位于计算机上?两者都给我一个错误,我认为ѭ5可能意味着它在服务器上。我找不到搜索此错误的相关建议。     
已邀请:
        我遇到了同样的问题,并通过使用LOCAL并提供了完整的文件路径来修复它:
\'C:/directory/file.csv\' 
似乎1045错误是由于无法访问服务器上的文件而引起的,如果未指定LOCAL,则这是mySQL查找文件的位置。 也可以看看: http://dev.mysql.com/doc/refman/5.1/en/mysqlimport.html     
        您需要以root用户身份登录并运行:
SHOW GRANTS FOR \'ukld\'@\'%\';
可能是您没有您认为自己拥有的权限...您需要对要尝试进入的数据库和表执行INSERT权限,这会
LOAD DATA
。 更新: 要更正GRANT问题,请在MySQL安装中以root用户身份运行以下语句:
REVOKE SELECT, INSERT, UPDATE, DELETE, CREATE,
       DROP, INDEX, ALTER, CREATE TEMPORARY TABLES,
       LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW,
       CREATE ROUTINE, ALTER ROUTINE
       ON ukld.* FROM \'ukld\'@\'%\';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE,
       DROP, INDEX, ALTER, CREATE TEMPORARY TABLES,
       LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW,
       CREATE ROUTINE, ALTER ROUTINE
       ON ukld.* TO \'ukld\'@\'%\' IDENTIFIED BY PASSWORD \'xxx\';

FLUSH PRIVILEGES;
确保在第二条语句中设置了正确的密码。     

要回复问题请先登录注册