MySQLはポート3306をリッスンしません

MySQLはポート3306をリッスンしません

MySQL に問題があります。ローカル (および Web phpmyadmin 経由) からはアクセスできますが、リモート コンピューターからはアクセスできません。

構成:

  • OS: CentOS7
  • MySQL: MySQL コミュニティ 8

サービスへのポートはファイアウォールで開かれています。このコマンドでそれを確認できます。

ファイアウォール

MySQLにも2人のユーザーがいます(ホストlocalhostのユーザーとホスト%のユーザー)mysql_ユーザー

しかし、別のネットワークからポートを確認すると、アクセスできません

チェッカー

何か忘れましたか?それとも間違えましたか?どんな助けでも大歓迎です

答え1

通常は、/etc/my.cnf(CentOS 7 の場合はこの場所) ファイルを編集し、次の変更を加えます。

  1. 次の行を追加します:bind-address = 0.0.0.0
  2. 行の先頭にskip-networkingを付けてコメントアウトします#

例えば:

[mysqld]
bind-address    = 0.0.0.0
# skip-networking

最初の行は、これが MySql デーモン用であることを定義します。2 行目は、MySql にネットワーク インターフェイス0.0.0.0(すべてのインターフェイス) にバインドするように指示します。3 行目は、MySql にネットワーク構成ルーチンをスキップしないように指示します。

他のディストリビューションでは、MySQL 構成ファイルが異なるフォルダの場所にある場合があることに注意してください。

答え2

ファイアウォールが開いていることを確認してください。それがあなたを捕らえる可能性があります。

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

これにより、サーバー上でポート 3306 が開かれ、MySQL への接続が受け入れられることが確認されます。

アップデート: ポートを開いている部分がわかりません。この応答をキャンセル

関連情報