>  기사  >  데이터 베이스  >  mysql에 대한 원격 연결이 실패하면 어떻게 해야 합니까?

mysql에 대한 원격 연결이 실패하면 어떻게 해야 합니까?

王林
王林원래의
2020-09-30 09:20:029678검색

mysql에 대한 원격 연결 실패에 대한 해결 방법: 1. 방화벽을 구성하고 포트 3306을 엽니다. 2. my.cnf 구성 파일을 편집하고 IP 주소를 바인딩합니다. 3. 모든 컴퓨터에서 액세스를 허용하도록 사용자 액세스 권한을 수정합니다. 4. mysql을 다시 시작합니다.

mysql에 대한 원격 연결이 실패하면 어떻게 해야 합니까?

1. 네트워크 또는 방화벽 문제 해결

(권장 튜토리얼: mysql 튜토리얼)

먼저 원격 서버에 ping 192.168.1.211을 실행할 수 있는지 확인하세요. 그렇지 않으면 네트워크 문제가 있는 것입니다. 그런 다음 포트가 방화벽(telnet 192.168.1.211 3306)에 의해 차단되었는지 확인하고 연결이 실패하면 방화벽을 구성하십시오.

방화벽을 구성하고 포트 3306을 엽니다

vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
/etc/init.d/iptables restart(重启防火墙使配置生效)

2. MySQL 구성을 확인하세요

방화벽이 켜져 있는데도 텔넷이 여전히 실패하는 경우 netstat를 통해 3306의 포트 상태를 확인하세요.

netstat -apn|grep 3306
tcp6  0  0 127.0.0.1:3306  :::*  LISTEN    13524/mysqld

위치에 주의하세요. 이는 3306이 로컬에 바인딩되어 있음을 의미합니다. 바인딩 IP 주소를 구성할 수 있는 my.cnf의 구성을 확인하세요.

bind-address=addr

구성되지 않았거나 IP가 0.0.0.0으로 구성되어 있으면 모든 클라이언트 연결을 모니터링한다는 의미입니다.

ps: 포트 3306을 열어서 MySQL 구성을 확인했는데 여전히 Telnet이 실패했지만 로컬 컴퓨터의 Telnet은 괜찮았으며 구성에 문제가 없음을 다시 확인했습니다. 나중에 우리 ucloud 계정 관리자에게 얘기했더니 ucloud 관리 백엔드도 3306 포트를 열어야 한다는 걸 알게 됐어요. 클라우드 서버를 사용하시는 분들은 이 점을 주의하셔야 해요.

3. 사용자 액세스 권한을 확인하세요

MySQL은 사용자를 생성할 때 호스트를 지정합니다. 기본값은 127.0.0.1/localhost입니다. 그러면 이 사용자는 이 사용자 계정을 사용하는 다른 컴퓨터에만 액세스할 수 있습니다. 권한이 없습니다. 호스트를 %로 변경하여 모든 컴퓨터에 액세스할 수 있음을 나타냅니다.

mysql에 대한 원격 연결이 실패하면 어떻게 해야 합니까?

4. 구성을 적용하려면 mysql을 다시 시작하세요.

관련 권장 사항: php training

위 내용은 mysql에 대한 원격 연결이 실패하면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.