집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 액세스 거부: '액세스 거부됨 ''@'localhost'' 오류 문제를 해결하는 방법은 무엇입니까?
MySQL 액세스 거부 오류: 문제 해결 및 해결
MySQL 쿼리를 실행하려고 하면 "ERROR 1044(42000): 사용자 '''@'localhost'의 데이터베이스 'db''에 대한 액세스가 거부되었습니다." 메시지 이 오류는 현재 사용자가 요청한 데이터베이스에 액세스할 수 있는 권한이 부족함을 나타냅니다.
오류 이해
"액세스 거부됨" 오류 메시지는 사용자가 실행을 시도하고 있음을 나타냅니다. 쿼리에 데이터베이스에 연결하거나 원하는 작업을 수행하는 데 필요한 권한이 없습니다. 이 특정한 경우, 데이터베이스에 대한 연결을 설정하려는 사용자는 로컬 호스트에서 빈 문자열('')로 식별됩니다.
근본 원인 식별
오류 문제를 해결하려면 사용자 계정 설정 및 권한을 검사하는 것이 중요합니다. "show grants" 명령을 사용하여 현재 사용자에게 부여된 권한을 표시할 수 있습니다. 제공된 예에는 다음 권한 부여가 표시됩니다.
GRANT USAGE ON *.* TO ''@'localhost'
이 출력은 localhost의 빈 문자열 사용자에게 모든 데이터베이스에 대한 USAGE 권한이 부여되었음을 나타냅니다. 이를 통해 사용자는 MySQL에 연결할 수 있지만 데이터베이스나 테이블을 생성하거나 조작할 수 있는 권한은 부여되지 않습니다.
문제 해결
오류를 해결하려면 원하는 사용자에게 필요한 권한을 부여할 수 있습니다. 그러나 현재 사용자 ID가 없으므로 사용자 ID를 만들어야 합니다. 그러나 CREATE USER 작업을 수행하려면 필요한 권한이 있는 사용자 계정을 만들어야 합니다.
루트 계정 사용
필수 권한이 있는지 확인하려면 권한이 있으면 루트 계정을 사용하여 MySQL에 연결을 시도할 수 있습니다. 제공된 예에서는 루트로 연결하려는 초기 시도가 실패했습니다. 루트로 로그인하려면 MySQL 명령줄이 아닌 Bash 셸에서 다음 명령을 실행해야 합니다.
mysql -u root -p
메시지가 표시되면 루트 비밀번호를 입력합니다. 루트로 로그인한 후 필요한 권한을 가진 새 사용자 생성을 진행할 수 있습니다.
위 내용은 MySQL 액세스 거부: '액세스 거부됨 ''@'localhost'' 오류 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!