我正在尝试从.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) .
答案 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'