>데이터 베이스 >MySQL 튜토리얼 >MySQL 권한을 루트로 부여할 때 '액세스 거부'가 발생하는 이유는 무엇입니까?

MySQL 권한을 루트로 부여할 때 '액세스 거부'가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-30 07:00:10830검색

Why Am I Getting

루트로 권한 부여 시 "액세스 거부" 오류 문제 해결

"사용자 '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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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