원격 MySQL 연결 오류: "호스트가 허용되지 않음"
MySQL에 원격으로 연결하면 "Host 'xxx. xx.xxx.xxx'는 이 MySQL 서버에 연결할 수 없습니다." 호스트 값이 'localhost'와 '%'인 루트 사용자 항목이 있음에도 불구하고 연결이 실패합니다.
이 문제는 일반적으로 MySQL에서 구현하는 보안 조치로 인해 발생합니다. 한 가지 가능한 해결책은 특정 권한과 액세스 제한이 있는 새 관리 사용자를 생성하는 것입니다.
새 관리 사용자 생성:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> WITH GRANT OPTION; mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' -> WITH GRANT OPTION;
광범위한 권한을 부여하는 것이 편리합니다. , 보안 위험으로 인해 권장되지 않습니다. 대신 다음을 수행하는 것이 좋습니다.
MySQL FAQ 통찰력:
MySQL FAQ는 다음을 제공합니다. 이 문제에 대한 추가 설명:
"'액세스 거부'가 발생한 이유를 알 수 없는 경우 와일드카드(예: '% 또는 _')가 포함된 호스트 값이 있는 모든 사용자 테이블 항목을 제거하십시오. localhost 연결을 활성화하기 위해 실수로 호스트='%' 및 user='some_user' 항목을 삽입했지만 기본 권한에는 호스트='localhost' 및 user='' 항목이 포함되어 있으므로 작동하지 않습니다. localhost 항목은 더 구체적이며 대신 사용됩니다. localhost 연결을 허용하려면 호스트='localhost' 및 user='some_user'로 두 번째 항목을 삽입하거나 기본 localhost 항목을 삭제하고 FLUSH PRIVILEGES 문을 실행하세요."
위 내용은 '%' 호스트 항목이 있어도 '호스트 'xxx.xx.xxx.xxx'는 이 MySQL 서버에 연결할 수 없습니다.'라는 메시지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!