MySQL Query Browser を使用してデータベースを簡単に参照できるように、リモート Web サーバーから別の MySQL サーバーへの SSH トンネリングを設定しようとしています。このページに従っていますが、MySQL サーバーに接続できません。http://www.howtogeek.com/howto/ubuntu/mysql-server-remotely-over-ssh/ にアクセスします
私がやったこと:
- SSH経由でPuttyを使用してWebサーバーにログインしました。
ssh -L 33060:[database]:3306 [myusername]@[webserver_address]
実際の情報によって [...] が変更される場所に入力されます。パスワードを尋ねられたので入力すると、次のメッセージが表示されました。ログインは成功したようです。
ソケット: プロトコルがサポートされていません
最終ログイン: .... 2012 年 .... Copyright (c) 1980、1983、1986、1988、1990、1991、1993、1994 The Regents of the University of California. All rights reserved.
FreeBSD 7.1-リリース....
FreeBSD へようこそ!
WindowsでMySQLクエリブラウザを開き、次のように入力しました。
Server Host:
ローカルホスト
Port:
33060
UserName:
私のユーザー名
PassWord:
わたしのパスワード
そしてこう言うのです、
Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)
あまりにも基本的な内容で申し訳ありません。情報をいただきありがとうございます。
答え1
Putty を使用している Windows ホストからリモート システムにアクセスする場合は、リモート システムではなく、Putty 内でトンネルを作成する必要があります。
Putty でトンネルを設定するのは非常に簡単です。
- オープンパテ
- 保存セッションがある場合はそれをロードするか、接続情報を入力します。
- 「接続」->「SSH」->「トンネル」までスクロールします。
- 送信元ポートを
33060
- 宛先をデータベース サーバーの IP に設定し、その後に
:3306
mysql ポートを設定します。つまり、 のようになります192.168.1.1:3306
。 - 「追加」をクリック
- セッションタブに戻って保存を選択するか、開くをクリックして接続を開始します。
接続したら、データベース アプリケーションを起動し、アプリケーションから でリッスンしているサーバーに接続してみます127.0.0.1:33060
。
答え2
編集: 間違った接続文字列を使用していることがわかりました:
ssh -L 33060:[database]:3306 [myusername]@[webserver_address
次を試してください:
ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address
-4 オプションは IPv4 の使用を強制し、ローカルホストがバインド ポートの宛先になります (この場合は locahost である必要があります)
localhost:33060 とリモート資格情報を使用して接続します。
それはうまくいくはずです!
それ以外の場合は、サーバーの SSH デーモン設定を確認してください。
AllowTcpForwarding yes
それ以外の場合は、オプションを使用してサーバーに接続するとssh -vv user@host
、さらに詳しい情報が表示されます。バインド ポートが失敗した場合は、少なくとも理由が表示されます。