집 >데이터 베이스 >MySQL 튜토리얼 >내 MySQL/MariaDB 루트 사용자에게 권한이 부족하고 '액세스 거부'가 표시되는 이유는 무엇입니까?
"사용자 'root'@'localhost'(비밀번호 사용: YES)에 대한 액세스가 거부되었습니다. - 권한이 없습니까?"
이 오류가 발생합니다. MySQL의 루트 사용자에게 작업을 수행하는 데 필요한 권한이 부족한 경우
루트 사용자의 Null 스키마 권한
일반적으로 루트 사용자는 모든 권한을 갖습니다. 그러나 이 경우 루트의 스키마 권한이 null로 보고되어 아무런 권한도 없음을 나타냅니다.
다양한 플랫폼에 미치는 영향
이 문제는 사용자의 다양한 플랫폼에서 MySQL 서버를 운영하는 능력. 사용자가 "[email protected]"로 로그인했는데도 문제가 발생했습니다.
문제 해결 시도
사용자가 "FLUSH HOSTS"와 같은 다양한 해결 방법을 시도했습니다. 및 "FLUSH PRIVILEGES"가 있지만 이는 입증되었습니다. 실패했습니다.
MySQL 5.7용 솔루션
MySQL 5.7 이상에서 이 문제가 발생하는 경우 솔루션은 비밀번호 기반 인증을 활성화하는 것입니다.
다음 SQL을 실행하세요 쿼리:
SELECT user, authentication_string, plugin, host FROM mysql.user;
루트 사용자에 대한 "authentication_string"은 비워둘 수 없습니다. 그렇다면 현재 루트 비밀번호로 업데이트하세요:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Current-Root-Password>';
권한 플러시:
FLUSH PRIVILEGES;
해결책 MariaDB의 경우
MariaDB의 경우 다음 쿼리를 사용하여 루트 사용자의 비밀번호 설정:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');
https://mariadb.com/kb/en/set-password/에서 자세한 정보를 확인할 수 있습니다.
참고:
인증 플러그인을 비활성화하거나 루트 사용자의 비밀번호를 수정한 후 다음을 실행하는 것이 좋습니다. 보안을 강화하는 "mysql_secure_installation" 명령.
위 내용은 내 MySQL/MariaDB 루트 사용자에게 권한이 부족하고 '액세스 거부'가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!