HeidiSQLでWindowsからMySQLサーバにSSH経由で接続する
Pocket

WindowsからMySQLサーバにクライアントソフトを用いてアクセスする場合、通常はMySQLデータベース側でリモートアクセスの許可をしておく必要がある。
しかし、外部からの接続を許可していないMySQLにクライアントソフトからアクセスしたい時もあるだろう。そんなときは、MySQLにSSHを経由してログインするMySQLクライアントソフトを用いるとよい。

今回は、そんなSSH経由でMySQLを操作することができるクライアントソフト『HeidiSQL』で、SSH経由でMySQLに接続、操作を行う手順を説明する。

1.HideiSQLのインストール

まずは、HideiSQLのダウンロード、インストールを行う。
こちらのリンク先から好きなバージョン(とりあえず、最新版で良いだろう)のインストーラーをダウンロードし、インストーラーを起動する。

20150118-000010

インストーラーは、基本的に「次へ」を押し続けていくだけなので説明は割愛する。

2.HideiSQLにMySQLへの接続設定を行う

次に、インストールしたHideiSQLに対して、接続先となるMySQLサーバの情報を設定する。
まずは[新規] > [セッションを追加]を選択し、新規のセッションを作成する。

20150118-000013

新規のセッションが作成できたら、任意の名称に変更する。
右カラムから[設定]タブを開き、[MySQL(SSH tunnel)]を選択し、「SSH接続後にMySQLに接続する際の情報」を記述する。

20150118-000014

20150118-000015

ここでポイントになるのが、この設定は今HeidiSQLをインストールしたマシンから見た接続情報ではなく、SSH接続先から見た接続情報だということ。
つまり、SSHで直接MySQLサーバにアクセスするようであれば、ここの接続先はMySQLサーバから見て自分自身となる「127.0.0.1(localhost)」となる。

次に、SSHトンネル設定を行う。
SSHトンネルを利用する際は、「plink.exe」というプログラムが必要となる。もしまだプログラムをダウンロードしていない場合は、[plink.exeの場所]の下にある[plink.exeをダウンロードする]からダウンロードし、適当な場所に設置する。ファイル設置後、[plink.exeの場所]でファイルパスを指定する。ここでは、HeidiSQLの設置場所である「C:\Program Files\HeidiSQL」配下に設置する。

その他、SSH接続で必要になるSSH接続先のホスト名やポート、ID、パスワードを指定する。
更に、デフォルトのタイムアウト値が4秒と少なすぎるため、10秒~30秒程度に変更する。

20150118-000018

これで、セッションの設定が完了したので、左下の[保存]をクリックする。

Sponsored Links

3.known_hostとして登録する

セッションの設定完了後、すぐに接続出来るわけではない。
接続先をknown_hostとして登録するため、一度手動でplink.exeを使ってSSH接続を行う必要がある。
そのため、コマンドプロンプトで以下のコマンドを実行する。

"C:\Program Files\HeidiSQL\plink.exe" ユーザ名@SSHホスト名
C:\Users\Work>"C:\Program Files\HeidiSQL\plink.exe" ユーザ名@SSHホスト名
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 4X:07:XX:7b:8f:21:XX:f6:ey:1c:XX:3e:6e:c7:XX:fa
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

「Store key in cache? (y/n) 」という表示がされたら、「y」を選択する。
これで、known_hostとしてレジストリに登録がされた。

4.MySQLに接続する

これでHeidiSQLでMySQLに接続ができるようになった。
セッションの[開く]を選択する。

20150118-000020

20150118-000021

無事、MySQLサーバにアクセスすることが出来た。
使用するデータベースが制限されているなら、接続時の情報にデータベースを指定してあげると良いだろう。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。