私は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 コントロール パネルをチェックして、ポートをブロックできるオプションがあるかどうかも確認します。
それとは別に、nmap
VPS 上で実行して、開いているポートを確認します。開いているポートを確認するには、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
。そうでない場合は確認してください。