今儿在看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
可是这里我查看了下我的权限也是没有问题的。我的备份文件在backup文档中
总用量 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/
这里我的解决问题的方式和过程是这样的,首先google和百度下,看是否能搞定这样的问题。然后我在使用load data infile看看是否也会出现这样的问题(这里的load命令是相通的命令)。
通过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
最后通过man 查询这个命令的问题,会发现一个想象就是这个--local命令的问题
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
这样问题解决了,这里我们的--local的作用是
指定从客户端电脑读入数据文件,否则从服务器电脑读取
所以这里找到了问题的所在了。--local