mysql error 13,mysql中的LOAD DATA 导致 ERROR 13 解决办法

mysql中的LOAD DATA 导致 ERROR 13 解决办法

mysql> LOAD DATA INFILE ‘/root/hello.txt’ INTO TABLE dbtest.pet(name);———–>

ERROR 13 (HY000): Can’t get stat of ‘/root/hello.txt’ (Errcode: 13)第一步:我们通过mysql的客户端工具perror进行分析

shell> ./bin/perror 13

OS error code 13: Permission denied

得出是权限的问题

第二步我们查看mysql手册

For security reasons, when reading text files located on the server, the files must

either reside in the database directory or be readable by all. Also, to use LOAD DATA

INFILE on server files, you must have the FILE privilege

也就是说有三个条件:

1.数据文件要在数据库目录

2.要能被读写

3.使用这个命令的用户要有FILE权限

好了,最后,我们来修改下我们的命令:

方法1:

mysql> LOAD DATA LOCAL INFILE '/root/hello.txt' INTO TABLE

dbtest.pet(name);

方法2:

第一步:移动文件到数据库目录

shell>mv /root/hello.txt /usr/local/mysql/data/dbtest

第二步:

mysql>LOAD DATA INFILE '/usr/local/mysql/data/dbtest/hello.txt' INTO TABLE dbtest.pet(name);

表结构:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值