Failed to Connect to MySQL at localhost: 3306 through SSH tunnel

はじめに

MySQL Workbenchに備わっている sshトンネリング機能を使い、手元のPC/MacからリモートのサーバのDBに繋ぐ方法を紹介。

やりたいこと

手元の環境から、MySQL Workbenchがserverにつなぎに行き、そのサーバ内のMySQLに接続させたい。

workbenchの設定

Connection Methodを Stadard TCP/IP over SSH を選択。諸々入力する。

問題発生

つながらない

原因と対処

mysql内に作成したユーザの接続元を
127.0.0.1ではなく、localhostとして登録していた。 意味的には同じように思えるが、mysqlの場合はこの辺厳密に区別されるらしい。

対処

接続元を127.0.0.1にしてユーザを再作成

問題なく接続できるようになった

備考

リモート接続の際、この本の第三章が非常に良くできている。

第3章 一歩進んだOpenSSHの使い方
 3-1 TCPポートフォワード
 3-2 プロキシと多段SSH
 3-3 SSHのセッションをコントロールする

第三章だけでも読む価値はある。とてもおすすめ。