Symfoware

Symfowareについての考察blog

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

722_01.png


HeidiSQLの「設定」タブでは


ネットワーク接続:MySQL(SSH tunnel)
ホスト名:localhost
ユーザー:データベースのユーザー名
パスワード:データベースのパスワード
ポート:3306



を指定しておきます。

722_02.png


ここで指定した情報を使用し、ssh接続先でmysqlコマンドを実行すると考えると設定しやすいと思います。
上記の内容で指定した場合、データベースサーバー上でこんなコマンドを実行している感じになります。


$ mysql -uDB_user@localhost -pDB_Password




「SSHトンネル」のタブでは、データベースサーバーにssh接続する情報を指定します。


plink.exe:ダウンロードしたplink.exeのパス
SSHホスト:データベースサーバーのIP
SSHポート:22
ユーザー:ssh接続するときのユーザー
パスワード:ssh接続するときのパスワード
ポート:3307



722_03.png

上記のように指定すると、こんなオプションで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;



関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2017/01/12(木) 21:48:11|
  2. MySQL
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<OpenJDK 8 jjs 別のファイルに記載した関数を取り込む | ホーム | OpenJDK 8 jjsコマンドでJavaScriptを実行する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1942-daab17a2
この記事にトラックバックする(FC2ブログユーザー)