미스터리 풀기: '사용자 'root'@'localhost'에 대한 액세스 거부(비밀번호 사용: YES)' 해결'
오류 메시지 "'root'@'localhost' 사용자에 대한 액세스가 거부되었습니다(비밀번호 사용: YES) - 권한이 없습니까?" 루트 사용자로 MySQL 데이터베이스에 연결을 시도할 때 발생할 수 있습니다. 이러한 실망스러운 문제는 루트 사용자의 스키마 권한이 null이고 모든 액세스 권한이 효과적으로 취소될 때 발생합니다.
문제의 근본 원인 추적
MySQL Workbench를 자세히 살펴보면, 루트 사용자의 스키마 권한이 실제로 누락되었음을 발견했습니다. 이는 FLUSH HOSTS 및 FLUSH PRIVILEGES와 같은 표준 명령이 결과를 생성하지 않는 이유를 설명합니다.
루트 액세스 회수: 단계별 가이드
실행 "SELECT user, 인증_문자열, 플러그인, 호스트 FROM mysql.user;" 쿼리 인증 방법을 결정합니다. 루트 사용자에 대해 'auth_socket'이 표시되면 서버에 대한 루트 액세스가 필요한 소켓 인증이 사용되고 있음을 나타냅니다.
비밀번호로 연결을 허용하려면 'localhost'에서 루트 사용자의 인증_문자열 값을 다음으로 업데이트하세요. 인증하려면 비밀번호가 필요한 'mysql_native_password'.
"ALTER USER 'root'@ 명령을 사용합니다. 'localhost'는 '현재 루트-비밀번호'에 의해 mysql_native_password로 식별됩니다." 루트 비밀번호를 설정합니다.
필요한 경우 GRANT 명령을 사용하여 루트 사용자에게 적절한 권한을 부여합니다.
"FLUSH PRIVILEGES;" 실행 변경 사항이 적용되는지 확인하세요.
사용자 정보 쿼리를 다시 실행하여 이제 루트 사용자에게 'mysql_native_password'가 있는지 확인하세요. 인증 및 원하는 권한을 부여합니다.
이 단계를 수행하면 루트 액세스를 복원할 수 있습니다. MySQL 데이터베이스를 완벽하게 제어할 수 있습니다.
위 내용은 MySQL 오류 ''root'@'localhost' 사용자에 대한 액세스가 거부되었습니다(비밀번호 사용: YES)'를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!