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