MySQL: ERROR13(HY000):Can't get stat of


在mysql中load data數據

 

mysql> load data infile '/home/a.txt' into table table_a;
ERROR 13 (HY000): Can't get stat of '/home/a.txt' (Errcode: 13)

 

我們用perror命令打印出具體錯誤信息

>perror 13

OS error code  13:  Permission denied

 

看起來是權限的問題,

 

perror命令是MySQL數據庫系統中的一個工具程序,它用於打印C語言中errno錯誤代碼的含義、也可以打印MySQL中存儲引擎錯誤代碼的含義。(perror prints a description for a system error code or for a storage engine (table handler) error code.)

 

由於perror是MySQL中的一個工具程序,在沒有安裝MySQL的機器上就無法執行,本文的示例四將給出大致的源代碼供大家參考。

 

常用參數

格式:perror <errno>

打印系統錯誤代碼errno值的含義。

 

格式:perror <Errcode>

打印MySQL數據庫系統中定義的錯誤代碼的含義。

 

格式:perror <err1> <err2> ...

打印多個錯誤代碼的含義。

(參考:http://codingstandards.iteye.com/blog/1127327)

找到一篇文章:

MySQL: ERROR13(HY000):Can't get stat of的問題
 
但是將LOAD DATA INFILE 
 
換成 
 
LOAD DATA LOCAL INFILE 
 
OK! 
 
原因分析: 
 
源自Mysql中文手冊: 
 
出於安全原因,當讀取位於服務器中的文本文件時, 文件必須位於數據庫目錄中,或者是全體可讀的。另外,要對服務器文件使用LOAD DATA INFILE,您必須擁有FILE權限。 
 
如果指定了LOCAL,則文件會被客戶主機上的客戶端讀取,並被發送到服務器。文件會被給予一個完整的路徑名稱,以指定確切的位置。 
 
權限問題啊!
 
參考:
http://blog.chinaunix.net/uid-23392298-id-62350.html
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM