HeidiSQL SSH tunnel経由でMySQL(MariaDB)に接続する
テスト時、MySQLに登録しているデータの確認はHeidiSQLで行っています。http://www.heidisql.com/
とても便利なのですが、外部からのアクセスを許可していない
MySQLデータベースには接続できず困っていました。
MySQL(SSH tunnnel)
よく見てみると「ネットワーク種別」に「MySQL(SSH tunnnel)」という項目が。
対象のデータベースサーバーにSSH接続できればデータベースに接続できそうです。
plink.exeを使用して、ssh接続を行いデータベースとの通信をトンネルしてくれる模様。
plink.exeのダウンロードと設定
SSH tunnnelを行うためのplink.exeをダウンロードしておきます。
PuTTY Download Page

HeidiSQLの「設定」タブでは
ネットワーク接続:MySQL(SSH tunnel)
ホスト名:localhost
ユーザー:データベースのユーザー名
パスワード:データベースのパスワード
ポート:3306
を指定しておきます。

ここで指定した情報を使用し、ssh接続先でmysqlコマンドを実行すると考えると設定しやすいと思います。
上記の内容で指定した場合、データベースサーバー上でこんなコマンドを実行している感じになります。
$ mysql -uDB_user@localhost -pDB_Password
「SSHトンネル」のタブでは、データベースサーバーにssh接続する情報を指定します。
plink.exe:ダウンロードしたplink.exeのパス
SSHホスト:データベースサーバーのIP
SSHポート:22
ユーザー:ssh接続するときのユーザー
パスワード:ssh接続するときのパスワード
ポート:3307

上記のように指定すると、こんなオプションでplink.exeが実行されます。
C:\TOOL\plink.exe -ssh ssh_user@192.168.1.1 -pw "******" -P 22 -N -L 3307:localhost:3306
接続を実行すると、こんな詳細表示とともにデータベースサーバーに接続できました。
/* Delimiter changed to ; */
/* パスワード を使用してユーザー名 localhost : MySQL (SSH tunnel) ... */
/* 応答を 4 秒待って、 plink.exe プロセスの生成を試みます */
/* C:\TOOL\plink.exe -ssh ssh_user@192.168.1.1 -pw "******" -P 22 -N -L 3307:localhost:3306 */
SELECT CONNECTION_ID();
/* 接続しました。スレッド ID: 42957 */
/* Characterset: utf8mb4 */
SHOW STATUS;
SHOW VARIABLES;
SHOW DATABASES;
- 関連記事
-
- FreeBSD 11.0にMariaDB 10.1をインストールし外部接続を許可する(pkg使用)
- MariaDB 10.0で絵文字の寿司ビール問題に対応する
- HeidiSQL SSH tunnel経由でMySQL(MariaDB)に接続する
- MariaDB 10のレプリケーション設定(Debian 8)
- MariaDB 列にハッシュ形式でデータを格納する(Dynamic Columns)
コメント