代码改变世界

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

  youxin  阅读(5108)  评论(1编辑  收藏  举报

在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
 

 

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2015-03-09 Linux定时器的实现
2015-03-09 Linux定时器 使用
2015-03-09 空基类优化empty base class optimization
2014-03-09 图灵完备
2014-03-09 转:implementing cons/car/cdr without explicit storage
2014-03-09 Actor模型
2014-03-09 线程通信机制:共享内存 VS 消息传递
点击右上角即可分享
微信分享提示