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
 

 

你可能感兴趣的:(MySQL: ERROR13(HY000):Can't get stat of)