実際のところよくある風景だと思います。
自分もコレがかなり煩わしく、phpMyAdminすら入れれない状況でした。
そんな状況を解決する方法はsshトンネル。
Mysqlでは
A5:SQL Mk-2 から SSHトンネルを利用して MySQL へ接続する
こんな感じでSSHクライアントを使ってローカルのSQLクライアントを利用することができます。
LinuxやMacはいいけど問題はWindowsにsshクライアントが標準でついていないこと。
ここではcygwinを例にしてますがcygwinを入れるのはちょっと…って人向けに代替案。
1 Git shell
GitHubを使って居る方でGitHub for Windowsをインストールしてる人はついてきてるはず。
これはcygwinと一緒でsshクライアントがついてくるのでこちらを使ってコマンドを叩けます。
具体的には起動させて以下のコマンドを叩きます。
ssh -N -L 3307:127.0.0.1:3306 ログインするユーザ名@ログインするサーバ -i 鍵
な感じ。
鍵を使っていない場合は -i から後ろはいりません。
A5を使ってる方は後はリンクの通り、接続情報を入力すればつながります。
私はこの方法で繋いでいます。
Githubがまた一歩好きになりました(関係ない)
ついでにLinuxやMacの人はターミナル立ち上げて同じコマンドを叩けばいけます。
2 PuTTY
Windowsのsshクライアントとしてはメジャーなクライアントかと。
こちらはメールをssh経由で使う方法ですがトンネルの作り方は参考にどうぞ。
GUIで出来き、分かりやすいのでオススメです。
3 Tera Term
Tera Termもメジャーなsshクライアントですね。
ここで紹介する例はリモートデスクトップ用のトンネルの作り方ですが参考にどうぞ。
基本的にsshでトンネルさえ作ればローカルにつなげるのと同様にサーバに接続できるようです。
データベースに繋ぐ時は
・ データベースに実際につないでいるのは接続先のユーザ
・ SQLクライアントからはlocalhostにつないでいるように見える
と言う点に注意です。
具体的にトンネル時にサーバ側に指定するポートですが、defaultは
・ mysql 3306
・ postgreSQL 5432
・ Oracle 1521
です。
自分はsshでトンネルしてA5でPostgresもMysqlも繋いでいます。
他の例ではPostgresにpgAdminで接続できるそうです。
@eielh @toro_kun @soudai1025 会話を横から見て参考にして、pgAdmin Ⅲでsshトンネルでリモートのpostgresql見れるようになった。ありがとうm(__)m
— mkonishi1981さん (@ore_public) 7月 5, 2012
ということで現場で生psqlでSQLを書いてたりして苦労してる方は是非一度お試しください!!
0 件のコメント:
コメントを投稿