![MySQL 원격 연결 실패](https://linux55.com/image/118871/MySQL%20%EC%9B%90%EA%B2%A9%20%EC%97%B0%EA%B2%B0%20%EC%8B%A4%ED%8C%A8.png)
약 10시간 동안 MySQL 데이터베이스에 원격으로 접속을 시도했지만 성공하지 못했습니다.
서버가 데비안을 실행 중입니다.
올바르게 my.cnf
구성되었으며 bind-ip 0.0.0.0
건너뛴 네트워크가 없습니다.
lsof -i :3306
연결 IP에서 서버로 설정된 연결을 표시한 후 사라집니다.
서버에서 tcpdump 포트 3306 및 "(tcp-syn|tcp-ack)!=0"을 사용하는 경우 연결을 시도하면 다음 메시지가 나타납니다.
10:55:44.195273 IP server2.xxx.xxx.mysql > xxx.xxx.12.89.53920: 플래그 [R], seq 1740903883, win 0, 길이 0
연결된 사용자에게는 모든 접근 권한이 부여됩니다 %
.
나는 무엇을 더 해야할지 모르겠습니다. 서버가 ISPConfig
방화벽을 실행하고 있지만 bastille
방화벽을 꺼도 작동하지 않습니다. 로컬 데이터베이스와 LAN 주소에 연결할 수 있습니다.
데이터베이스 서버에 연결하려고 하면 다음과 같은 결과가 나타납니다.
"오류 2013(HY000): '인증 패킷을 읽는 중' MySQL 서버 연결이 끊어졌습니다. 시스템 오류: 2 "해당 파일 또는 디렉터리가 없습니다."
내 cnf
Skip_name_resolve가 켜져 있습니다.
바인딩 주소가 주석 처리되어 있습니다.
어떤 단서가 있나요?
답변1
TCP 네트워크는 확실히 작동하고 있습니다. 연결이 이루어지면 대체 연결 도구(예: 이와 같은) nc
도 이를 보여줍니다.
MySQL 자체가 들어오는 연결을 차단하거나 버전이 TCP Wrappers로 컴파일되어 역방향 DNS 및 정방향/역방향 매칭을 요구하도록 설정되어 있습니다.
MySQL 문서B.5.2.5 호스트 "host_name"이 차단되었습니다.mysqladm flush-hosts
불완전한 연결이 너무 많으면 런타임 까지 원래 IP 주소가 차단된다는 점을 설명합니다 . 아니면 로그인해서 실행할 수도 있습니다 FLUSH HOSTS
.
/etc.hosts.allow
TCP 래퍼 구성을 확인하려면 및 를 살펴봐야 합니다 /etc/hosts.deny
.