今兒在看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 >可是這裡我查看了下我的權限也是沒有問題的。我的備份文件在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 >這裡我的解決問題的方式和過程是這樣的,首先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 >最後通過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 >這樣問題解決了,這裡我們的--local的作用是</SPAN>
指定從客戶端電腦讀入數據文件,否則從服務器電腦讀取
所以這裡找到了問題的所在了。--local