우분투 서버에서 포트 3306이 닫혀있는 것 같습니다 0 localhost.lo:submission

두 대의 VPS 서버가 있고 둘 다 테스트 용 서버와 개발 용 MySQL을 설치했습니다. 내 서버 중 하나에서 외부에서 연결할 수 없습니다. 사용자와 함께;

‘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  -



답변

문제는 서버가 내부적으로 만 듣고 있다는 것입니다.

라인 bind-address 127.0.0.1을 제거하면 /etc/mysql/my.cnf문제 가 해결되었습니다.

최신 버전의 Ubuntu (≥16.04)에는이 줄이있을 수 있습니다 /etc/mysql/mysql.conf.d/mysqld.cnf.


답변

내 제안, 포트가 닫혀 있다고 확신한다면 (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 외부에서 VPS를 실행해야합니다.

netstat -tuplen 또한 서버에서 열린 포트와 LISTEN 모드에있는 포트를 확인하는 것이 좋습니다.


답변

in 으로 변경 하여이 문제 bind-address 127.0.0.1를 해결 bind-address 0.0.0.0했습니다 /etc/mysql/mysql.conf.d(MySQL이 모든 포트에서 수신 대기하도록).

또한 원격으로 사용할 mysql 사용자 계정을 설정했습니다 ( https://stackoverflow.com/a/24171107/132374 참조 ).


답변

이 방법을 사용합니다.

sudo ufw status
sudo ufw allow XXXX/tcp
# use a port other than the default/predictable 3306
# work outside, and close the door when you are done
sudo ufw deny XXXX/tcp

다른 구성 파일을 변경할 필요가 없으며 기본적으로 추가 포트가 열리지 않아도됩니다.


답변

구성이 디렉토리 /etc/mysql/mysql.conf.d/mysqld.cnf에있을 수 있습니다. 그렇지 않은지 확인하십시오.


답변