如何将数据库转储到远程服务器?

问题描述:

我试图将我的数据库推送到ClearDB上托管的远程mysql数据库。如何将数据库转储到远程服务器?

我使用的命令

mysql -u [email protected]*** -pmypwd dbname < mydb.sql 

,我发现了错误

Access denied for user '[email protected]**@localhost (using password YES) 

现在用我正确的语法?我试图将相同的sql文件导入到本地数据库,并且顺利发生。

难道我需要授予一些proviledges这个远程数据库在heroku上?如果是的话,我该怎么做?

+0

注意的Heroku未托管的MySQL数据库。 – catsby 2013-04-09 20:58:39

+0

它确实支持实际上是MySQL的cleardb数据库。由于下面给出的答案,我成功推送了数据库。 – Abhishek 2013-04-10 04:26:07

+0

请注意,Heroku不支持** MySQL数据库。 ClearDB是一个附加提供者;它不是由Heroku操作的。 Heroku在这里担任中间人。 – catsby 2013-04-10 13:55:02

您应该在数据库上设置权限,以便从您尝试在转储中读取的远程主机访问。为用户名创建访问权限时,您始终指定相应的主机。这可能是任何主机的%...在这种情况下,你不必做任何事情。有时它被设置为特定的主机,在这种情况下,您需要为相同的用户名添加权限,但使用不同的主机作为远程主机。

还需要正确的语法是:

mysql -u username -h us-cdbr-east-*** -pmypwd dbname < mydb.sql 

通知-h开关

+0

谢谢我错过了-h部分。工作 – Abhishek 2013-04-08 19:01:14