0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Heroku MySQLにクライアントから接続したい

Posted at

やりたいこと

HerokuのアプリにアタッチしているMySQLへ、MySQL Workbenchなどのクライアントから接続したい

方法

情報を取得する

アプリ名を取得

herokuにデプロイしているアプリケーションの名前を取得します。
この場合はhogehogeというアプリをデプロイしていることとします。
herokuのアプリ名は、ど忘れしてたり、被らないように特殊にしている場合があるのでcliで取得してコピーしましょう。

$ heroku list
hogehoge
fugafuga

アプリの情報を取得

アプリケーションhogehogeの情報を取得します。
アプリケーションに設定されている環境変数が出力されます。
Heroku上にあるアプリケーションにMySQLをアタッチしている多くの場合において、DATABASE_URLは以下のようになっていると思います。

$ heroku config -a hogehoge
=== hogehoge Config Vars
CLEARDB_DATABASE_URL: mysql://fizz:buzz@foo.cleardb.com/heroku_barbarbar?reconnect=true
DATABASE_URL: mysql://fizz:buzz@foo.cleardb.com/heroku_barbarbar?reconnect=true
以下略

MySQLの接続情報を抜粋する

環境変数の値から接続情報のすべてを読み取ることができます。

// 元が以下だとしたら
mysql://fizz:buzz@foo.cleardb.com/heroku_barbarbar?reconnect=true

// このように読み替える
mysql://username:password@host/schema?reconnect=true

// つまり以下のようになる
MySQLホスト
=> foo.cleardb.com

DB Schema
=> heroku_barbarbar

Username
=> fizz

Password
=> buzz

以上になります。
あとは使っているクライアントに情報を入れて接続してあげるだけです。

最後に

HerokuってデフォルトのデータベースがPostgreSQLなんですが、
MySQLに変えることもできます。
僕の場合には仕事、プライベート、開発環境、本番環境問わず、MySQLを使うことが多いため、PostgresからMySQLへ変えてみました。

変え方については検索すればいくらでもヒットするのでそちらを。
ちなみにクライアントからアクセスして使ってみた感じだと速度が遅めです。まぁ無料なのでそこは仕方ないですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?