2013-02-18 31 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