>데이터 베이스 >MySQL 튜토리얼 >MySQL 액세스 거부: '액세스 거부됨 ''@'localhost'' 오류 문제를 해결하는 방법은 무엇입니까?

MySQL 액세스 거부: '액세스 거부됨 ''@'localhost'' 오류 문제를 해결하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-04 15:40:11484검색

MySQL Access Denied: How to Troubleshoot and Resolve the

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

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