2012-12-06 117 views
1

我對Linux有點新手,還在學習。「mysqldump> mysql」拋出錯誤。爲什麼?

今天我需要複製數據庫到生產環境。要做到這一點,我用命令

(uiserver):u70486952:~ > mysqldump -h host -u user --password=mypassword dbname > mysql -h host2 -u user2 --password=mypassword dbname2 

此命令,一邊尋找確定,我沒有工作,它拋出一個錯誤。

mysqldump: Got error: 1044: Access denied for user 'user'@'%' to database 'dbname' when selecting the database 

單獨這樣做(沒有命令後)工作。 我使用管道字符而不是>(超過)來解決此問題。

有人可以解釋爲什麼它顯示了一個錯誤?我很好奇。

謝謝

回答

3
可以在任何地方的命令執行

重定向,只有第二天字作爲文件名;命令行上的任何其他內容都作爲參數傳遞給命令。也就是說,

mysqldump -h host -u user --password=mypassword dbname > mysql -h host2 -u user2 --password=mypassword dbname2 

相當於

mysqldump -h host -u user --password=mypassword dbname -h host2 -u user2 --password=mypassword dbname2 > mysql 
+0

謝謝。合理。今天學到了一些東西! :) –