欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何解决mysqlimport: Error: 13, Can't get stat of 的问题

程序员文章站 2024-02-24 09:37:10
今儿在看mysql用户手册的时候,看到备份恢复哪里的mysqlimport的个命令时,操作后出现了一个很奇怪的问题。复制代码 代码如下:root@zhou:/usr/loc...
今儿在看mysql用户手册的时候,看到备份恢复哪里的mysqlimport的个命令时,操作后出现了一个很奇怪的问题。
复制代码 代码如下:

root@zhou:/usr/local/mysql# mysqlimport -uroot -p123 -h127.0.0.1 -P3306 test backup/chen.sql
mysqlimport: Error: 13, Can't get stat of '/usr/local/mysql/data/backup/chen.sql' (Errcode: 2), when using table: chen

这里通过perror查询这个错误的原因:
复制代码 代码如下:

root@zhou:/usr/local/mysql# perror 13
root@zhou:/usr/local/mysql# ll
OS error code 13: Permission denied

复制代码 代码如下:

<SPAN style="FONT-SIZE: 10px">可是这里我查看了下我的权限也是没有问题的。我的备份文件在backup文档中</SPAN>

复制代码 代码如下:

总用量 120
drwxr-xr-x 17 root  mysql  4096  1月 10 19:02 ./
drwxr-xr-x 22 root  root   4096  1月  8 11:34 ../
drwxr-xr-x  2 mysql mysql  4096  1月 10 17:30 backup/
drwxr-xr-x  2 root  mysql  4096  1月  8 10:39 bin/

复制代码 代码如下:

<SPAN style="FONT-SIZE: 10px">这里我的解决问题的方式和过程是这样的,首先google和百度下,看是否能搞定这样的问题。然后我在使用load data infile看看是否也会出现这样的问题(这里的load命令是相通的命令)。</SPAN>

通过google和百度没有找到自己想要的答案,而我在进行load data infile的操作时,发现没有问题,所以总结这里应该不是权限的问题:
复制代码 代码如下:

mysql(root@localhost:test)>load data infile '/usr/local/mysql/backup/chen.sql' into table chen;
Query OK, 6 rows affected (0.07 sec)
Records: 6 Deleted: 0 Skipped: 0 Warnings: 0

复制代码 代码如下:

<SPAN style="FONT-SIZE: 10px">最后通过man 查询这个命令的问题,会发现一个想象就是这个--local命令的问题</SPAN>

复制代码 代码如下:

root@zhou:/usr/local/mysql# mysqlimport -uroot -p123 -h127.0.0.1 -P3306 test backup/chen.sql
mysqlimport: Error: 13, Can't get stat of '/usr/local/mysql/data/backup/chen.sql' (Errcode: 2), when using table: chen
root@zhou:/usr/local/mysql# mysqlimport -uroot -p123 -h127.0.0.1 -P3306 test backup/chen.sql --local
test.chen: Records: 6 Deleted: 0 Skipped: 0 Warnings: 0

复制代码 代码如下:

<SPAN style="FONT-SIZE: 10px">这样问题解决了,这里我们的--local的作用是</SPAN>

指定从客户端电脑读入数据文件,否则从服务器电脑读取
所以这里找到了问题的所在了。--local