MySQL 액세스 거부 오류: SQLSTATE[HY000] [1045]
질문:
CakePHP를 사용하여 데이터베이스를 구성하는 동안 "SQLSTATE[HY000] [1045] 'username'@'localhost' 사용자에 대한 액세스가 거부되었습니다."라는 오류가 발생했습니다. 이 문제가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?
답변:
"액세스 거부됨" 오류는 일반적으로 제공된 비밀번호 또는 그렇지 않은 비밀번호가 일치하지 않음을 나타냅니다. -지정된 호스트에 대해 일치하는 MySQL 사용자가 존재합니다. MySQL에서 사용자는 사용자 이름과 호스트로 식별됩니다.
문제 해결 및 해결:
사용자 존재 확인:
다음 쿼리를 실행하여 주어진 사용자 이름과 호스트를 가진 사용자가 존재하는지 확인합니다.
<code class="sql">SELECT user, host FROM mysql.user</code>
사용자가 존재하지 않으면 CREATE USER 문을 사용하여 생성합니다.
올바른 비밀번호:
사용자에게 제공된 비밀번호가 MySQL에 저장된 비밀번호와 일치하는지 확인하세요. 비밀번호를 변경하려면 다음 명령을 사용하십시오.
<code class="sql">SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password')</code>
호스트 불일치:
쿼리에 지정된 호스트가 호스트와 일치하지 않을 수 있습니다. 사용자와 연결됩니다. SHOW GRANTS 문을 사용하여 사용자의 권한을 확인합니다. 호스트 값이 "%"로 설정된 경우 연결 문자열의 호스트와 일치하도록 "localhost"로 변경합니다.
권한 부여:
사용자에게 데이터베이스 개체에 대해 필요한 권한이 있는지 확인하세요. GRANT 문을 사용하여 SELECT, INSERT, UPDATE 또는 DELETE 권한을 부여합니다.
권한 플러시:
사용자 권한에 대한 변경 사항이 적용됩니다. MySQL이 테이블을 다시 읽은 후. 강제로 다시 읽으려면 FLUSH PRIVILEGES 문을 실행하십시오.
추가 참고 사항:
위 내용은 CakePHP 데이터베이스 구성 오류: \'SQLSTATE[HY000] [1045] 사용자 \'username\'@\'localhost\'\'에 대한 액세스가 거부되었습니다. 문제는 무엇이고 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!