私のUbuntuサーバーではポート3306が閉じられているようです

私のUbuntuサーバーではポート3306が閉じられているようです

私は2つを持っています仮想通貨サーバーは両方ともマイグレーションインストールされています。1 つはテスト用、もう 1 つは開発用です。サーバーの 1 つでは外部からの接続が許可されません。ユーザーの場合;

'mytestuser'@'%'

によると開いているポートを見つける問題のあるサーバーのポート 3306 が閉じられているようです。任意のポートで問題なくリッスンしている独自の C++ および Java プログラムがあります。なぜこのようなことが起こるのでしょうか。また、どうすれば修正できるのでしょうか。

インストールされているUbuntuはUbuntu 11.10 (GNU/Linux 2.6.32-042stab072.10 x86_64)です

netstat -tuple各サーバーの結果

違反サーバー

tcp        0      0 localhost.lo:submission *:*                     LISTEN      root       39967664    -

稼働中のサーバー

tcp        0      0 *:mysql                 *:*                     LISTEN      mysql      1847519288  -

答え1

問題は、サーバーが内部でのみリッスンしていたことです。

行を削除するbind-address 127.0.0.1/etc/mysql/my.cnf問題は解決しました。

Ubuntu の新しいバージョン (≥16.04) には、この行が含まれている場合があります/etc/mysql/mysql.conf.d/mysqld.cnf

答え2

ポートが閉じられていることが確実な場合 (VPS でそのポートが閉じられているのは奇妙だと思います)、MySQL の構成ファイルを変更して別のポートを使用することをお勧めします。

ターミナルで設定ファイルを開きsudo nano /etc/mysql/mysql.conf、 セクションを探します[mysqld]。その中で、 という行を探しますport = 3306。使用されていない別のポートに変更して、ファイルを保存します。

次に、VPS を再起動するか、次のようにサービスを再起動しますsudo service mysql restart

念のため、ファイルmysql.confが上記の場所にない場合は、次の場所にある可能性があります。

/etc/my.conf
/etc/my.cnf
/etc/mysql/my.conf

serviceコマンドが機能しない場合は、次の操作を実行してください。

sudo /etc/init.d/mysql restart

問題が解決しない場合は、私の場合はiptables(これがオプションである場合、私は実際に iptables 内のすべてを削除して最初からやり直します)、またはその他のファイアウォール対応オプションを使用します。

これらは VPS なので、VPS コントロール パネルをチェックして、ポートをブロックできるオプションがあるかどうかも確認します。

それとは別に、nmapVPS 上で実行して、開いているポートを確認します。開いているポートを確認するには、VPS の外部から実行する必要があります。

netstat -tuplenサーバー上で開いているポートと、LISTEN モードになっているポートを確認することもお勧めします。

答え3

MySQL がすべてのポートでリッスンするようにinbind-address 127.0.0.1を変更することでこれを修正しました。bind-address 0.0.0.0/etc/mysql/mysql.conf.d

また、リモートで使用するためのmysqlユーザーアカウントを設定しました。詳細については、ホスト 'xxx.xx.xxx.xxx' はこの MySQL サーバーに接続できません

答え4

設定がディレクトリ内にある可能性があります/etc/mysql/mysql.conf.d/mysqld.cnf。そうでない場合は確認してください。

関連情報