AWSの無料枠が終わり、なるべく料金をかけないためにデータベースをRDSから自前のMySQLに切り替えました。データベースの中身を簡単に確認したいため、MySQLクライアントを使って外部からアクセス可能にしたいと思います。MySQLサーバ内のデータベースを外部から閲覧する方法を検索すると、phpMyAdminを設定するものがよく出てくるのですが、phpMyAdminのセットアップの手間がかかるのでそれを省く方針で行きます。
今回やることは、
「EC2内のMySQLサーバに外部ホストからのアクセスを許可する」
のみです。
MySQLサーバに外部ホストからのアクセスを許可する
MySQLのバージョン:8.0.22
$ mysql -u root -p
# アクセスを許可されたホストの確認
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
# すべてのホストからのアクセスを許可する
mysql> rename user root@'localhost' to root@'%';
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+-----------+
MySQLクライアントを使ってデータベースにアクセスする
クライアントツールは好きなものを使用して構いません。下記サイトにおすすめがまとまっています。
クライアントツールを開いたら以下のようにホスト名、ユーザー、パスワードを設定します。
ホスト名はEC2のIPアドレスを指定してください。ポートは3306が外部アクセスできるようにセキュリティグループを設定してください。
コメント