집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 \'사용자 \'username\'@\'localhost\'\'에 대한 액세스가 거부되었습니다.'라는 메시지가 나타나는 이유는 무엇입니까?
오류 메시지 "SQLSTATE[HY000] [1045] 'username'@'localhost에 대한 액세스가 거부되었습니다. ''는 지정된 사용자가 데이터베이스에 액세스할 수 없음을 나타냅니다. 이는 사용자가 존재하지 않거나, 비밀번호가 정확하지 않거나, 사용자에게 필요한 권한이 없기 때문에 발생할 수 있습니다.
사용자가 존재하는지 확인하려면 다음을 실행하세요. 쿼리:
SELECT user, host FROM mysql.user
지정된 사용자 이름과 호스트 이름이 있는 행을 찾습니다. 존재합니다.
사용자가 존재하는 경우 비밀번호를 업데이트하여 비밀번호가 올바른지 확인하세요.
SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new_password')
사용자 데이터베이스에 액세스할 수 있는 권한이 부족할 수 있습니다. 다음과 같은 명령으로 필요한 권한을 부여하십시오.
GRANT SELECT ON database_name.* TO 'username'@'localhost'
위 단계로 문제가 해결되지 않으면 방화벽 설정을 확인하여 데이터베이스 포트(일반적으로 3306)이 열려있습니다. 또한 app.php 구성 파일에서 사용자의 호스트 이름을 확인하십시오. 호스트 이름은 mysql.user 테이블의 사용자 호스트 열과 일치해야 합니다.
사용자 호스트가 %로 설정된 경우 모든 호스트와 일치합니다. app.php 구성의 호스트 이름이 사용자의 호스트 이름과 일치하지 않으면 문제가 발생할 수 있습니다. 사용자의 호스트를 localhost로 명시적으로 변경합니다.
MySQL 권한 테이블에 대한 변경 사항을 적용하려면 권한이 있는 사용자가 실행하는 FLUSH PRIVILEGES 문이 필요합니다.
FLUSH PRIVILEGES
위 내용은 MySQL에서 \'사용자 \'username\'@\'localhost\'\'에 대한 액세스가 거부되었습니다.'라는 메시지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!