>데이터 베이스 >MySQL 튜토리얼 >내 MySQL/MariaDB 루트 사용자에게 권한이 부족하고 '액세스 거부'가 표시되는 이유는 무엇입니까?

내 MySQL/MariaDB 루트 사용자에게 권한이 부족하고 '액세스 거부'가 표시되는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-10 01:36:10351검색

Why Does My MySQL/MariaDB Root User Lack Privileges, Showing

"사용자 'root'@'localhost'(비밀번호 사용: YES)에 대한 액세스가 거부되었습니다. - 권한이 없습니까?"

이 오류가 발생합니다. MySQL의 루트 사용자에게 작업을 수행하는 데 필요한 권한이 부족한 경우

루트 사용자의 Null 스키마 권한

일반적으로 루트 사용자는 모든 권한을 갖습니다. 그러나 이 경우 루트의 스키마 권한이 null로 보고되어 아무런 권한도 없음을 나타냅니다.

다양한 플랫폼에 미치는 영향

이 문제는 사용자의 다양한 플랫폼에서 MySQL 서버를 운영하는 능력. 사용자가 "[email protected]"로 로그인했는데도 문제가 발생했습니다.

문제 해결 시도

사용자가 "FLUSH HOSTS"와 같은 다양한 해결 방법을 시도했습니다. 및 "FLUSH PRIVILEGES"가 있지만 이는 입증되었습니다. 실패했습니다.

MySQL 5.7용 솔루션

MySQL 5.7 이상에서 이 문제가 발생하는 경우 솔루션은 비밀번호 기반 인증을 활성화하는 것입니다.

  1. 다음 SQL을 실행하세요 쿼리:

    SELECT user, authentication_string, plugin, host FROM mysql.user;
  2. 루트 사용자에 대한 "authentication_string"은 비워둘 수 없습니다. 그렇다면 현재 루트 비밀번호로 업데이트하세요:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Current-Root-Password>';
  3. 권한 플러시:

    FLUSH PRIVILEGES;

해결책 MariaDB의 경우

MariaDB의 경우 다음 쿼리를 사용하여 루트 사용자의 비밀번호 설정:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');

https://mariadb.com/kb/en/set-password/에서 자세한 정보를 확인할 수 있습니다.

참고:

인증 플러그인을 비활성화하거나 루트 사용자의 비밀번호를 수정한 후 다음을 실행하는 것이 좋습니다. 보안을 강화하는 "mysql_secure_installation" 명령.

위 내용은 내 MySQL/MariaDB 루트 사용자에게 권한이 부족하고 '액세스 거부'가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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