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

441 查看

今儿在看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