5

データベースへの接続が初めてで、どこからトラブルシューティングを開始すればよいかわからない -

現在、HeidiSQL を使用して、Amazon Web Service - EC2 でホストされている外部の Mysql データベース サーバーに接続しています。

次の設定で HeidiSQL を使用してデータベースにアクセスできます: MySQL (SSH トンネル) ホスト名/IP: 127.0.0.1 ユーザー: (ユーザー) パスワード: (pw) ポート 3306

SSH トンネル タブ: plink.exe の場所が putty.exe に設定されている sshhost + ポート: (ホストの IP) ポート 22 秘密鍵ファイル: (設定されている) ローカル ポート: 3307

この構成を使用して、データベースにログインできます。私の問題は、ポート転送を使用して独自の putty コマンドを使用して実行しようとしている場合です。

Putty で: SSH>tunnels を設定しました - 送信元ポート: 3307、宛先 (私のホスト IP): 3306 ローカルおよび自動。パスワードと hostip を使用して接続します

HeidiSQL に戻り、次のように設定します: MYSL (TCP/IP) ホスト名: localhost ユーザー: (ユーザー) パスワード(pw) ポート 3307

そして接続してみる。次のエラーが表示されます: SL ERROR (2013): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

私が読んだことから、これは私の ssh トンネルが機能していることを意味しますが、他に何か問題があります。なぜこれが機能しないのか、私は今途方に暮れています。他の何かを適切に設定していませんか?自分自身をファイアウォール?私の最終的な目標は、別のアプリケーションを接続して、ODBC または JDBC を使用して同じポート転送のアイデアを使用してデータベースと通信することです。どこかにチェックするログはありますか?

4

3 に答える 3

0

あなたがこれをやろうとしているようです: http://realprogrammers.com/how_to/set_up_an_ssh_tunnel_with_putty.html 動作するはずです。ssh サーバーと mysql サーバーがリモート マシンで実行されていると仮定します。

Putty で: SSH>tunnels を設定しました - 送信元ポート: 3307、宛先 (私のホスト IP): 3306 ローカルおよび自動。パスワードと hostip を使用して接続します

SSH>tunnels を設定 - 送信元ポート: 3307、宛先 127.0.0.1:3306 ローカルおよび自動。

heidisql: MYSL (TCP/IP) ホスト名: localhost ユーザー: (ユーザー) パスワード(pw) ポート 3307

ローカル マシンで MySQL サービスを実行している場合、リッスンしようとしているポート (3307) で、ローカル サービスがダウンしていても 2013 エラーが発生することに注意してください。その場合、任意の未使用ポートを使用してください。

また、リモート mysql サーバーのユーザー テーブル (mysql データベース) が特定のホストに制限されている場合、これは機能しません。サーバーが自分自身 (コンピューター名) を認識する方法を見つけて、ユーザー テーブルに追加するか、単に「%」ワイルドカードを使用しない限り。

于 2014-09-22T22:57:49.077 に答える