2015-11-02 41 views
0

我想從.dat文件中將數據加載到mysql中。從活動服務器上的文件將數據加載到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

@KaushikMaheta,是的,我已經給了該文件夾的權限。 – user3733831

+0

兩個權限(讀/寫)。不只是寫給用戶'laksiri'@'localhost'。 –

回答

0

問題是你盛大的權限。嘗試此查詢在你的MySQL服務器盛大許可.Replace DB_NAME作爲數據庫

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

我不認爲這將在生產服務器中飛行。那麼,它不應該。 – Shadow

+0

我可以得到這個錯誤 - '#1044 - 訪問拒絕用戶'laksiri'@'localhost'到數據庫'laksiri_test'' – user3733831

+0

@ user3733831:檢查此鏈接可能會幫助您http://www.inmotionhosting.com/support /網站/數據庫故障排除/ mysql-1044-access-denied-error-message –

0

你需要授予文件到用戶:

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

「文件」僅作爲GLOBAL權限分配。

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

要檢查現有撥款執行以下操作:

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

我可以得到這個錯誤,當我運行你的選擇查詢'#1142 - SELECT命令拒絕給用戶'laksiri'@'localhost'表'用戶' – user3733831

+0

要檢查現有的授權,請使用show grants命令。 – Shadow

+0

對不起,我假設你有一個超級用戶帳戶訪問。影子是正確的,如果你運行: 'laksiri'的節目; –

相關問題