自分だけのクイズを作成しよう - Quipha
スポンサーリンク

【Heroku】MySQLにローカルのクライアントから接続

サーバー

当サイトではアフィリエイト広告を利用しています。

スポンサーリンク

はじめに

HerokuではMySQL(ClearDB)が利用できます。

詳細は以下をご覧ください。

ClearDB MySQL - Add-ons - Heroku Elements
The high speed database for your MySQL powered applications.

今回は、Heroku上に作成したMySQLのデータベースに、ローカルPCのクライアントから接続してデータを確認します。

他にも私のブログで、サーバーについて解説している記事がありますのでご覧ください。

使用するバージョン
  • Windows 11 / 10 or macOS Monterey (M1)
  • Heroku
  • MySQLクライアント

クライアントの作業は、WindowsでもMacでも同様にできます。

MySQLクライアントのインストール

Windows

Windowsで作業を行う場合ですが、今回はWSL2のUbuntuを使用しました。
導入は簡単にできますので、以下の記事を参考にしてください。

WSL2のUbuntuからコマンドを実行します。

以下のコマンドを実行し、MySQLのクライアントをインストールします。

$ sudo apt install mysql-client

バージョンを確認します。

$ mysql --version

mysql  Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Mac

ターミナルを起動します。

Homebrewをインストールしていない場合は、以下の記事を参考にしてください。

Homebrewを利用してMySQLクライアントをインストールします。

以下のコマンドを実行します。

% brew install mysql-client

以下のコマンドでPATHを通します。

% echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
% source ~/.zshrc

バージョンを確認します。

% mysql --version

mysql  Ver 8.0.28 for macos12.0 on arm64 (Homebrew)
スポンサーリンク

Heroku MySQL(ClearDB)に接続

以下の記事でデプロイしたアプリをもとに確認します。

MySQLへの接続情報を確認しましょう。
Herokuのコマンドから確認します。

$ heroku config

=== xxx-xxx-xxx Config Vars
CLEARDB_DATABASE_URL: mysql://xxx:xxx@xxx/heroku_xxx?reconnect=true

CLEARDB_DATABASE_URLのフォーマットは以下のようになっています。

mysql://(DB_USERNAME):(DB_PASSWORD)@(DB_HOST)/(DB_DATABASE)?reconnect=true

接続情報を確認し、以下のようにコマンドで接続します。

$ mysql -u (DB_USERNAME) -h (DB_HOST) -p(DB_PASSWORD)

接続ができますので、通常通りデータベースの中身を確認することができます。

mysql> show databases;
+------------------------+
| Database               |
+------------------------+
| information_schema     |
| heroku_xxx             |
+------------------------+
2 rows in set (0.73 sec)

作成されたテーブルを確認することができました。

mysql> use heroku_xxx;
mysql> show tables;
+----------------------------------+
| Tables_in_heroku_xxx             |
+----------------------------------+
| failed_jobs                      |
| migrations                       |
| password_resets                  |
| personal_access_tokens           |
| users                            |
+----------------------------------+
5 rows in set (0.18 sec)

通常は外部からはアクセスできないようにしている場合が多いと思いますが、今回の場合は接続できますので、データベースの接続情報の取り扱いには十分に注意しましょう。

さいごに

HerokuのMySQLのデータを確認する場合に、参考にしてください。

他にも私のブログで、サーバーについて解説している記事がありますのでご覧ください。

\オススメ/

コメント

タイトルとURLをコピーしました