27

MySQLインスタンスをDebianサーバーで実行していて、問題なくローカルに接続できます。ただし、リモートで接続できません。コマンドラインからこれを試してみると、次のエラーが発生します。

ERROR 2003 (HY000): Can't connect to MySQL server on '<server-ip>' (110)

ユーザーを「user」@「*」および「user」@「localhost」としてmysqlに追加しました。このサーバーのskip-networkingはfalseに設定され、bind-addressはmy.cnfでコメント化されています。また、次のコマンドを使用して、iptablesでポート3306を開こうとしました。

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

これは、iptables-Lを使用して取得したすべてのiptableファイアウォールルールのリストです。

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
REJECT     tcp  --  anywhere             anywhere            tcp dpt:auth reject-with icmp-port-unreachable 
ACCEPT     icmp --  anywhere             anywhere            icmp type 8 code 0 state NEW,RELATED,ESTABLISHED,UNTRACKED 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            tcp spts:1024:65535 dpt:ftp state NEW 
ACCEPT     tcp  --  anywhere             anywhere            tcp spts:1024:65535 dpt:ssh state NEW 
ACCEPT     tcp  --  anywhere             anywhere            tcp spts:1024:65535 dpt:www state NEW 
ACCEPT     tcp  --  <my-server>          anywhere            tcp spts:1024:65535 dpt:mysql state NEW 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpts:49152:65534 state NEW 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql 
LOG        all  --  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: ' 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql 
LOG        tcp  --  anywhere             anywhere            tcp dpt:mysql LOG level debug 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

誰かが私がここからどこに行くべきか考えていますか?

4

5 に答える 5

12

あなたの応答に基づいて、あなたはあなたとあなたのサーバーの間にあなたの接続をブロックするデバイスがあるかどうかを見つける必要があります。また、サーバーにログインしたときに、そのサーバーのイーサネットアドレスで3306にtelnetできることを確認する必要があります...そうでない場合は、おそらくイーサネットにバインドされたサービスを取得していませんmy.cnf...パラメータを参照してbind-addressください。

于 2011-04-19T09:21:15.047 に答える
1

MySQLサーバーの構成をチェックして127.0.0.1にバインドされているかどうかを確認する必要があります。そうすると、アプリが同じサーバー上にある場合にのみmysqlに接続できます。webaminをインストールして、Webインターフェイスを介して制御できる簡単な方法があります。

于 2013-06-12T04:44:54.330 に答える
1

これは、3306ポートが閉じていることが原因である可能性があります。サーバーのポートステータスを確認してください

http://www.yougetsignal.com/tools/open-ports/

閉じていると表示されている場合は、マシンの外部からアクセスしてポートを開くことができないことを意味します

ufw-複雑でないファイアウォール

Ubuntuのデフォルトのファイアウォール設定ツールはufwです。以下は、ufwの使用方法の例です。

まず、ufwを有効にする必要があります。ターミナルプロンプトから次のように入力します。

sudo ufw enable

ポート(mysql)を開くには:

sudo ufw allow 3306

ファイアウォールのステータスを確認するには、次のように入力します。

sudo ufw status
于 2017-02-24T05:40:34.000 に答える
0

VPN接続を使用してリモートデータベースサーバーに接続し、この種のエラーが発生した場合は、2つの簡単な手順を確認してください...

1)Windowsマシンで、[コントロールパネル\ネットワークとインターネット\ネットワーク接続]パスに移動し、ローカルエリアネットワークを右クリックしてプロパティに移動します。TCP / IPv4をクリックして、プロパティに移動します。IPサーバーとDNSサーバーを確認してください(DHCPを使用しているかどうか)。

2)この後、マシンを再起動して、もう一度チェックアウトしてください。

これがうまくいくことを願っています。私の場合、それは機能します。

注:すべての設定が正しいことを確認してください。この答えは面白いですが、私の場合はうまくいきます:)

ありがとう!

于 2017-06-21T16:06:11.980 に答える
0

私にとってこれは、ファイル内のポート3306を有効にして/etc/default/iptables、以下の行のコメントを解除することにより、任意のホストからの着信トラフィックを許可することでした。

#-A INPUT -p tcp --dport 3306 -j ACCEPT
于 2018-05-15T14:14:19.077 に答える