从实时服务器

时间:2015-11-02 06:13:31

标签: mysql sql

我正在尝试从.dat文件将数据加载到mysql中。

这是我在本地主持人中尝试的方式:

LOAD DATA LOCAL INFILE 'H:/websites/project1/www/sql/myfile.dat' 
REPLACE INTO TABLE airports 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
(apid, name, city, country, iata, icao, y, x, elevation, timezone, dst, tz_id);

它为我工作并用我文件中的数据填充mysql表。但我的问题是当我在实时服务器上运行此查询时,我无法加载数据并收到错误消息。

这是我在实时服务器上尝试的方式:

LOAD DATA INFILE 'tmp/myfile.dat' 
REPLACE INTO TABLE airports 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
(apid, name, city, country, iata, icao, y, x, elevation, timezone, dst, tz_id);

注意:我的tmp/文件夹位于网站根目录中。

这是我得到的错误:

 MySQL said:
#1045 - Access denied for user 'laksiri'@'localhost' (using password: YES) . 

2 个答案:

答案 0 :(得分:0)

问题在于您的大权限。请在您的MYSQl服务器中尝试此查询以获得大权限。将DB_Name替换为您的数据库

REVOKE ALL PRIVILEGES ON `DB_NAME`.* FROM 'laksiri'@'localhost'; 
GRANT ALL PRIVILEGES ON `DB_NAME`.* TO 'laksiri'@'localhost' WITH GRANT OPTION;

答案 1 :(得分:0)

您需要向用户授予文件:

https://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file

“FILE”仅被指定为GLOBAL权限。

GRANT FILE ON *.* TO 'laksiri'@'localhost' 

要检查您现有的拨款,请执行以下操作:

SELECT * FROM mysql.user WHERE User='laksiri'