2013-02-18 51 views
2

如何将我的MySQL数据库上传到Heroku以便与PHP应用程序一起使用?我在Heroku上发现的唯一的文档是这样的:在Heroku上使用MySQL与PHP

使用ClearDB与PHP

从PHP连接到ClearDB是超级简单,只需要CLEARDB_DATABASE_URL的分析来进行连接,就像这样:

<?php 
    $url=parse_url(getenv("CLEARDB_DATABASE_URL")); 

    $server = $url["host"]; 
    $username = $url["user"]; 
    $password = $url["pass"]; 
    $db = substr($url["path"],1); 

    mysql_connect($server, $username, $password); 

    mysql_select_db($db); 
?> 

我不明白如何在没有SSH连接的情况下用我的数据填充ClearDB,或者如何创建数据库或如何连接到数据库?

回答

4

ClearDB's Developer Center FAQ:

导入数据到你的MySQL数据库,我们建议您同时使用mysql命令行客户端还有的mysqldump数据库备份实用程序。

假设您有可用的连接信息,用你的本地计算机上的mysqlmysqldump公用事业直接远程连接到ClearDB并导入数据。这其他的SO答案可以帮助:How to copy a Database from one server to another server in PHP?

您可以导出数据库转储mysql_dump本地,然后给予从heroku config的用户名/密码/主机信息,您可以使用的mysql实用本地导入到远程主机,所以像这样:

$ mysqldump --user=db1user --password=db1pass local_database > db.sql 
$ mysql --host=remote_host --user=db2user --password=db2pass myschema < db.sql 
+1

好的,但它不告诉我如何连接到Heroku DB。我知道的方法是SSH到我的虚拟主机,并使用mysql和mysqldump。我不知道如何用Heroku做到这一点。 – mikeglaz 2013-02-20 16:22:42

+0

我扩大了我的答案,希望能指出你正确的方向。你在这里绕过Heroku – catsby 2013-02-20 18:45:51

+0

在这种情况下,你不需要使用SSH,因为你的ClearDB数据库可以直接通过互联网从你自己的计算机访问,而不限于本地主机。 – 2013-02-20 18:47:35