MySQL은 포트 3306에서 수신 대기하지 않습니다.

MySQL은 포트 3306에서 수신 대기하지 않습니다.

MySQL에 문제가 있습니다. 로컬에서(웹 phpmyadmin을 통해) 액세스할 수 있지만 원격 컴퓨터에서는 액세스할 수 없습니다.

구성:

  • 운영체제: CentOS7
  • MySQL: MySQL 커뮤니티 8

서비스에 대한 포트가 방화벽에서 열려 있습니다. 이 명령을 통해 확인할 수 있습니다.

방화벽

또한 MySQL에는 두 명의 사용자가 있습니다(호스트가 localhost인 사용자와 호스트가 %인 사용자).mysql_user

하지만 다른 네트워크에서 포트를 확인할 때. 접근할 수 없어요

체커

제가 잊어버린 게 있나요? 아니면 제가 실수한 걸까요? 어떤 도움이라도 매우 감사하겠습니다

답변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 데몬용임을 정의합니다. 두 번째 줄은 MySql이 네트워크 인터페이스에 바인딩하도록 지시하며 0.0.0.0이는 모든 인터페이스를 의미합니다. 세 번째 줄은 MySql에 네트워킹 구성 루틴을 건너뛰지 말라고 지시합니다.

다른 배포판에는 다른 폴더 위치에 MySQL 구성 파일이 있을 수 있습니다.

답변2

방화벽이 열려 있는지 확인하십시오. 이것이 당신을 붙잡을 수 있습니다.

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

이렇게 하면 포트 3306이 서버에 열려 있는지 확인하고 MySQL에 대한 연결을 허용합니다.

업데이트: 포트가 열려있는 부분은 못봤습니다. 이 응답 취소

관련 정보