>데이터 베이스 >MySQL 튜토리얼 >`bind-address = 0.0.0.0`에도 불구하고 원격 호스트에서 MySQL 서버에 연결할 수 없는 이유는 무엇입니까?

`bind-address = 0.0.0.0`에도 불구하고 원격 호스트에서 MySQL 서버에 연결할 수 없는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-17 08:06:25751검색

Why Can't I Connect to My MySQL Server from a Remote Host Despite `bind-address = 0.0.0.0`?

Mysql 연결 오류: HOST '' MySQL 서버에 연결할 수 없습니다.

mysql 명령을 사용하여 MySQL에 연결하려고 할 때 서버에 연결하려고 하면 다음 오류 메시지가 나타납니다.

ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

이 오류는 서버가 특정 호스트만 연결하도록 허용하도록 구성되었으며 해당 호스트가 허용 목록에 없음을 나타냅니다. .

루트 사용자 권한 확인

귀하의 경우 my.cnf에서 바인드 주소를 0.0.0.0으로 설정했는데, 이는 서버가 모든 호스트의 연결을 수락해야 함을 의미합니다. 그러나 여전히 연결할 수 없습니다. 이는 루트 사용자에게 localhost에서만 연결할 수 있는 권한이 있기 때문일 수 있습니다.

이를 확인하려면 다음 쿼리를 실행하세요.

SELECT host FROM mysql.user WHERE User = 'root';

결과에 연결하려는 호스트 이름이나 IP 주소가 포함되어 있지 않으면 해당 호스트에 권한을 부여해야 합니다. 해당 호스트의 루트 사용자 연결 권한.

연결 권한 부여

루트 사용자에게 특정 호스트에서 연결할 수 있는 권한을 부여하려면 다음 명령을 사용합니다.

CREATE USER 'root'@'host_ip' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'host_ip';

여기서 host_ip는 연결을 허용하려는 호스트의 IP 주소입니다.

모든 호스트에 연결 권한을 부여하려면 와일드카드 %를 사용할 수 있습니다.

CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

마지막으로 권한을 새로 고쳐 즉시 적용합니다.

FLUSH PRIVILEGES;

이제 mysql 명령을 사용하여 지정된 원격 호스트에서 MySQL 서버에 연결할 수 있습니다.

위 내용은 `bind-address = 0.0.0.0`에도 불구하고 원격 호스트에서 MySQL 서버에 연결할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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