2012-12-06 86 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

谢谢。合理。今天学到了一些东西! :) –