15
11

More than 3 years have passed since last update.

Herokuの本番DBを確認する方法(MySQL)

Last updated at Posted at 2020-12-12

前置き

herokuをMySQLでデプロイした方向けです。
本番環境のDBを確認したいなーと思って調べているとどうやらherokuではPostgreSQLが推奨されているらしくMySQLの記事がほとんど見つかりませんでした。そこで自分の備忘録をかねてHerokuの本番DBを確認する方法(MySQL)をここに残したいと思います。

確認方法

この記事を書く前に色々とネットで調べてみました。すると答えが載っていました!!
結論から言うとターミナルでmysql -u DB_USERNAME -h DB_HOSTNAME -pDB_PASSWORDの順番に打ち込むと

mysql >

のように出てきます。こうなれば成功です!!


なるほど全然わからない。
そもそもどこにUSERNAME、HOSTNAME、PASSWORDがわからない、、
そこからさらに調べているとDATABASE_URLの中身に色々と入っていることが判明。
ターミナルにてheroku configコマンドを実行すると

CLEARDB_DATABASE_URL:     mysql://abcdef12345678:1pindesu4@us-cdbr-east-02.cleardb.com/heroku_3232e987654321a?reconnect=true
DATABASE_URL:             mysql2://abcdef12345678:1pindesu4@us-cdbr-east-02.cleardb.com/heroku_3232e987654321a?reconnect=true
LANG:                     en_US.UTF-8
RACK_ENV:                 production
RAILS_ENV:                production
RAILS_LOG_TO_STDOUT:      enabled
RAILS_MASTER_KEY:         *******************
RAILS_SERVE_STATIC_FILES: enabled
SECRET_KEY_BASE:          *******************

こんな感じでいっぱい出てくると思います。(ここに乗っていなかったりここに書いてないものが表示されてることもあるかと思います。)

大切なのは
CLEARDB_DATABASE_URL: mysql://abcdef12345678:1pindesu4@us-cdbr-east-02.cleardb.com/heroku_3232e987654321a?reconnect=trueの部分です。
ここにUSERNAME、HOSTNAME、NAME、PASSWORDやらが載っています。

今回の場合
ユーザー名= abcdef12345678

パスワード= 1pindesu4

ホスト= us-cdbr-east-02.cleardb.com

データベース名= heroku_3232e987654321a
のように割り振られています。

よってターミナルにて

% mysql -u abcdef12345678 -h us-cdbr-east-02.cleardb.com -p1pindesu4

することで(一番最後の-p1pindesu4は-pの後にスペースを開けないようにしてください)

mysql >

このように無事に入ることができると思います。
あとはどのデータベースを見たいのかを選択する必要があるので SHOW コマンドを使っていきます。

mysql> SHOW DATABASES;
+------------------------+
| Database               |
+------------------------+
| information_schema     |
| heroku_3232e987654321a |
+------------------------+
2 rows in set (4.76 sec)

ここで先ほどheroku configで確認した
データベース名= heroku_3232e987654321aと一致するものが自分が確認したい本番DBということになります。
あとは

mysql> USE heroku_3232e987654321a;

でデータベースを選択し

mysql> SHOW TABLES;

コマンドを実行すれば

+----------------------------------+
| Tables_in_heroku_3232e987654321a |
+----------------------------------+
| ar_internal_metadata             |
| favorites                        |
| relationships                    |
| schema_migrations                |
| songs                            |
| users                            |
+----------------------------------+
6 rows in set (0.29 sec)

こんな感じで本番DBが確認できると思います!!

まとめ

自分なりにまとめてみたので間違っている箇所などあれば指摘していただける嬉しいです。herokuにかかわらずDBの操作は実務で必ず使うそうなのでいろいろいじって慣れておくことが大切なのかなと思いました。

15
11
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
15
11