リモートのMySQLをGUIで管理する(MySQL Query Browser + SSHトンネリング編)

管理画面作るのめんどくさい。でもターミナルでSQLをいちいち書くのも面倒。でも、データベースを外部接続可能にするのは問題外というのは多いと思います。そんな時にphpMyAdminを使うのも手でしょうが、インストールするのも面倒だし、UIもあまり好きになれない。そんなときに今回のソリューション。知っている人からしたら当たり前すぎて鼻で笑うレベルなのでしょうがそこは屑プログラマ

MySQL Query Browserを試したことがなかったら、是非とも試用してみてください。Win, Mac, Linux版揃ってます。とても便利ですよ。適当にググって、インストールして、ローカルで動いているデータベースにでもアクセスしてみてください。

そして、ここからが本番

$ ssh -L 3307:localhost:3306 username@example.com

まず、SSHでトンネルを掘ります。SSHトンネリングと言われる手法です。SSHの通信に穴を掘り、MySQLの通信を通すイメージです。このSSHコマンドでは、example.com の3306ポートをローカルマシンの3307ポートにSSH経由で割り当てることによって、トンネルを掘ってます。

こんなイメージです。

localhost:3307 (使われていないポート) -> example.com:3306 (MySQLのポート既定値)

そして最後に、MySQL Query Browserを起動させ、

Server Host Name : 127.0.0.1 (注意:localhostではダメ!!!)
Port: 3307
Username: example.com上のMySQLのユーザ名

で接続すれば、DBサーバにアクセスできているはずです。これでターミナルでSQLを書く苦行から少しは楽になるかも。にしても、SSHトンネリングは他にも色んな可能性を秘めていそうだね。