外部のサーバでmysqlが稼働しており、そこへローカルの端末から接続したいのですが、行き詰っています。
mysqlサーバには、もう一台の踏み台用サーバを経由して接続しています。
やろうとしている事はlocalのcygwin上で動作するsshクライアント稼働させて、sshトンネルにして、mysqlのクライアントを実行したかったのです。
こちらのサイトに記載されている内容を参考にしました。
http://www.tamurasouko.com/?p=1092
cygwin上では以下のようにsshを実行しました。「fumidai_server」は、前述の踏み台用のサーバと考えて下さい。himitsukagi は、SSH認証用の秘密鍵です。
ssh -i ./himitsukagi -f -N -C -L 10000:localhost:3306 fumidai_user@fumidai_server -p 22
次に、ローカルPCでmysqlクライアントを立ち上げました。
mysql -u dbuser -h 127.0.0.1 --port=10000
これを実行すると、
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
というメッセージが出て接続出来ません。
よくよく考えて見ると、上記の手順だとDBサーバの場所を指定していません。踏み台サーバへ接続するようになっています。
しかし、dbサーバを指定する箇所がどこなのかが解りません。
試しにHeidiSQLというツールを使い、SSHトンネル経由で接続してみました。
簡単に書くとこんな感じです。
sshホストとポート fumidai_server:22
sshユーザ fumidai_user
mysqlのホスト db-server
mysqlのユーザ dbuser
ポート 3306
これで接続出来てしまいました・・・
cygwinのsshでも同じことが出来るとありがたいんですが、どなたかやり方をごぞんじないでしょうか?

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/29 04:46