はじめに
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にしてユーザを再作成
GRANT USAGE ON *.* TO 'tsukada'@'127.0.0.1' IDENTIFIED BY 'password'; GRANT select ON `database`.* TO 'tsukada'@'127.0.0.1' ; MariaDB [(none)]> select user,host from mysql.user; +----------------+-----------+ | user | host | +----------------+-----------+ | tsukada | 127.0.0.1 | +----------------+-----------+ 14 rows in set (0.00 sec) MariaDB [(none)]>
問題なく接続できるようになった
備考
リモート接続の際、この本の第三章が非常に良くできている。
第3章 一歩進んだOpenSSHの使い方
3-1 TCPポートフォワード
3-2 プロキシと多段SSH
3-3 SSHのセッションをコントロールする
第三章だけでも読む価値はある。とてもおすすめ。