我想使用MySQL SELECT INTO OUTFILE語句將表的內容轉儲到csv文件。如果我做的:如何使用SELECT INTO OUTFILE解決MySQL Errcode 13?
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
outfile.csv將此數據庫的文件存儲在同一目錄服務器上創建
然而,當我改變我的查詢:
我得到:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
ERRCODE 13是一個權限錯誤,但我得到它,即使我改變的所有權/數據到mysql:mysql並給它777權限。 MySQL以用戶「mysql」的身份運行。
奇怪的是,我可以在/ tmp中創建文件,而不是在我嘗試過的任何其他目錄中,即使設置了權限以便用戶mysql應該能夠寫入目錄。
這是在Ubuntu上運行的MySQL 5.0.75。
看到13是一個系統錯誤,這可能不是它,但有一個mySQL設置限制INTO OUTFILE到一個目錄:http://dev.mysql.com/doc/refman/5.0/en/server -system-variables.html#sysvar_secure_file_priv也許值得快速查看它是否設置爲「/ tmp」。 – 2010-05-06 18:04:38
我的安裝中該變量爲空,根據該文檔,這意味着我的輸出目錄不應受到限制。 – 2010-05-06 18:06:57