집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 권한을 루트로 부여할 때 '액세스 거부'가 발생하는 이유는 무엇입니까?
루트로 권한 부여 시 "액세스 거부" 오류 문제 해결
"사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다. (비밀번호 사용: YES)" 권한 부여 시 당황스러울 수 있으며, 특히 올바른 비밀번호를 확인했고 충분한 권한이 있는 경우 더욱 그렇습니다. 이 문제는 mysql.users 테이블과 같은 필수 시스템 테이블에 권한을 부여하려고 할 때 종종 발생합니다.
문제의 근본:
MySQL의 보안 아키텍처는 예비 mysql.users 테이블을 포함한 특정 테이블은 루트 수준 사용자가 독점적으로 액세스할 수 있습니다. 루트가 아닌 사용자에게 이러한 테이블에 대한 권한을 부여하는 것은 보안 조치로 금지되어 있습니다.
해결 방법:
액세스 거부 오류를 피하면서 권한을 성공적으로 부여하려면 다음을 수정하세요. mysql.users 테이블을 제외하는 grant 문입니다. . 대신 %.*를 사용하여 다른 모든 데이터베이스 개체에 대한 권한을 부여합니다.
GRANT ALL PRIVILEGES ON `%`.* TO '[user]'@'[hostname]' IDENTIFIED BY '[password]' WITH GRANT OPTION;
mysql.users 테이블을 제외하면 보안 제한 사항을 준수하고 권한 부여 작업을 허용할 수 있습니다. 성공적으로 완료합니다.
위 내용은 MySQL 권한을 루트로 부여할 때 '액세스 거부'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!