エックスサーバー(XServer)のデータベースをMySQLクライアントで操作してみよう

一般的なレンタルサーバーではMySQLサーバーのポート(3306番:標準)はファイアウォールにより外部からアクセスできないようになっています。そのため、普通のアプリケーションによるデータベースの操作はできません。

とはいえ操作できないのは困るので、MySQLであれば phpMyAdmin が提供されます。

Webブラウザでデータベースを操作できるため便利ではありますが、ブラウザならではの操作性やレスポンスの悪さが気になります。

SSHポートフォワード

普段から使い慣れているMySQLクライアント(アプリケーション)を使いたいと思うでしょう。そこで ポートフォワード という仕組みを利用します。他にも、ポートフォワーディング、ポート転送、トンネリングなどがキーワードとなります。

詳細は省きますが、MySQLサーバーにダイレクトにアクセスできなくても、内部のサーバーからならアクセスできることに注目してください。phpMyAdminであれば、Webサーバー(PHP)がデータベースにアクセスしていることになります。

そこで、SSHサーバーを経由してMySQLサーバーにアクセスする方法がSSHポートフォワードとなります。データベースに限らず、ファイアウォール内部のサービスにアクセスするための汎用的な手法です。

この方法は トンネリング とも呼ばれます。MySQLサーバーまでトンネルを掘って、その中でMySQLの通信を行うイメージを持つと分かりやすいかもしれません。

アプリケーションの設定

ここではMacのSequel Proで説明します。他のOSやクライアントであってもポートフォワードに対応していれば、簡単に接続することができます。

XServerの設定(サンプル)はこのようになります。すでにSSHを利用しているユーザーであれば迷うことはないでしょう。

ここでは説明しませんが、ポートフォワードの仕組みが分ればSSH非対応のクライアントでも接続できます。また、SSHに対応しているレンタルサーバーであれば、この方法を利用できる可能性は高いでしょう。

関連記事

BLOG

UPDATE