将SQL文件转储到Heroku的ClearDB

17

我有一个 SQL 文件,想要将它导入到我在 Heroku 上使用 ClearDB 插件的 MySQL 数据库中。在本地转储时,我执行以下操作:

mysql -u my_user -p mydatabasename < my_dump_file.sql

然而,我不知道如何将其转储到Heroku的MySQL数据库中。我所知道的只有这个地址:

mysql://b5xxxxx7:37xxxad@us-cdbr-east.cleardb.com/heroku_xxxxxx?reconnect=true

但是如果我尝试执行以下操作:

mysql://b5xxxxx7:37d8faad@us-cdbr-east.cleardb.com/heroku_xxxxxx?reconnect=true < my_dump_file.sql

我得到了No such file or directory的错误信息。

我应该怎么做?


1
当在本地转储时,您可能会使用>而不是<,因为后者实际上会还原并覆盖mydatabasename - Magne
你不是把数据倒入(dump into)数据库,而是从数据库里倒出(dump out of)。然后你可以从一个倒出的数据备份中恢复(restore)该数据库。 - Magne
4个回答

37

您可能可以尝试像这样做

mysql --host=us-cdbr-east.cleardb.com --user=b5xxxxx7 --password=37d8faad --reconnect heroku_xxxxxx < my_dump_file.sql

谢谢!我没有使用命令行,但是当我通过Sequel Pro远程连接时,它完美地工作了。你真是我的救星。 - Kyle Carlson
3
使用 heroku config 命令获取 CLEARDB_DATABASE_URL,其中包含了你需要运行此命令的信息,格式为:mysql://user:password@host/heroku_db?reconnect=true。在这个例子中,信息如下:mysql://b5xxxxx7:37d8faad@us-cdbr-east.cleardb.com/heroku_xxxxxx?reconnect=true - Magne
我尝试按照您的评论操作,但是出现了以下错误: REFERENCES command denied to user 'baexxxxxxxxxxx'@'ec2-54-165-50-141.compute-1.amazonaws.com' for table 'ycdb.recipe' 您有什么解决方法吗? - thegreathypocrite
我得到了:ERROR 1044 (42000),第4行:用户'bexxxxxxxxxxxxxx@'%'被拒绝访问数据库'xxxxxxxx' - mLstudent33

2

在新版本的mysql上,它对我来说无法正常工作。因此,我尝试了以下代码:

mysql -h us-cdbr-east.cleardb.com -u b5xxxxx7 -p heroku_xxxxxx < my_dump_file.sql 

然后它会要求输入密码。


我遭遇访问被拒绝的问题,尽管我检查了我的密码并确保正确输入。 - mLstudent33
ERROR 1045 (28000): Access denied for user 'bXXXXXXXXX'@'ip-10-0-6-79.ec2.internal' (using password: YES) - mLstudent33

1

我一开始把所有内容都输入时出现了错误,所以我将其分解为小步骤。首先,我像这样输入了我的MySQL详细信息:

mysql --host=us-cdbr-iron-east-02.cleardb.net --user=xxxxxxxxxxxxxx --password=xxxxxxxx --reconnect 

然后我进入数据库并进行了如下更改:

mysql> use heroku_xxxxxxxxxx;

现在我按照以下方式导入了SQL文件:

mysql> source path/to/file.sql;


0

我尝试了上面的所有答案,但都没有起作用。

然后我阅读了this,得出结论我需要在CMD上尝试它(之前我使用的是Windows PowerShell管理员)。

代码中不再有错误。

我使用了这段代码(在先前的评论中提供)。

mysql -h us-xxxxxx.cleardb.com -u b7xxxxxxx -p heroku_df32xxxxxxx < dbname.sql

1
这是应该回答页面顶部的问题吗?如果是,请重新表述,使回答部分更明显。 - Yunnosch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接