2011-01-16 8 views
6

自分のサーバーでホストされているmysqlデータベースを使いたいです。 DATABASE_URLとSHARED_DATABASE_URLの設定変更を自分のサーバーを指すように変更しましたが、まだherokuのamazonawsサーバーに接続しようとしています。どうすれば修正できますか?herokuで自分のmysqlデータベースサーバを使用するには?

答えて

10

Heroku documentationによれば、DATABASE_URLを変更することが正しい方法です。

レールアプリケーションをHeroku以外のデータベースに接続したい場合は、この同じメカニズムを利用できます。あなたのDATABASE_URL設定変数をクラウドアクセス可能なデータベースを指すように設定するだけで、Herokuは自動的に選択したサーバーを指すようにdatabase.ymlファイルを作成します。 Amazon RDSアドオンは自動的にこれを行いますが、この同じ方法を使用して非RDSデータベースにも接続することもできます。

ここで動作するはずの例です:

heroku config:add DATABASE_URL=mysql://user:[email protected]/db

あなたは私が私のDreamhostのMySQLデータベースを使用してこの正確に同じ問題を抱えていた変更を行うとgit push heroku master

+0

これは助けになりませんでした。それは、ログにMysql :: Error(ユーザー 'mydbname'@'ec2-184-72-153-138.compute-1.amazonaws.com'(パスワード:YESを使用)を拒否したアクセス)が表示されます: – Arty

+0

だからdb_nameを使用しますDATABASE_URLで指定したが、まだamazonawsサーバーに接続しようとしています – Arty

+0

興味深い。パスワードフィールドを含めるように答えを更新しました。あなたもそれを指定していますか?もしそうなら、私はちょっと掘り続けるつもりです。 –

0

を実行して、再デプロイする必要があるかもしれません。 Dreamhostにこの外国人のホストからの接続を受け入れることを教えてくれたという解決策が出てきました。それ以外の場合、Dreamhostはシステムから発生していないMySQLへのすべてのリクエストをブロックします。

HerokuがDATABASE_URLにもかかわらずAmazon AWSに落ちているのは、MySQLデータベースへのアクセスが拒否されているためです。

3

ちなみに、ホストはXXXX.amazonaws.comです。XXXはおそらく変更される長いホストハメットです。ワイルドカードを追加できる場合は、最も簡単です。%.amazonaws.com

関連する問題