>  기사  >  데이터 베이스  >  사용자 \'\'@\'localhost\'의 데이터베이스에 대한 \"액세스 거부\"가 발생하는 이유는 무엇입니까?

사용자 \'\'@\'localhost\'의 데이터베이스에 대한 \"액세스 거부\"가 발생하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-02 03:42:02696검색

Why am I Getting

"액세스 거부: 사용자 @ 'localhost'의 데이터베이스에 대한 잘못된 액세스 해결"`

MySQL 사용자는 종종 실망스러운 오류 메시지를 접하게 됩니다. 사용자 ''@'localhost'의 데이터베이스 ''에 대한 액세스가 거부되었습니다." 이 문제는 잘못된 사용자 권한 또는 구성 설정으로 인해 발생합니다. 이 문제를 해결하려면 다음 단계를 따르십시오.

  • 사용자 자격 증명 확인:

    • $dbuser 변수에 MySQL 사용자가 지정되어 있는지 확인하세요. 존재합니다.
    • 사용자에게 $dbname에 지정된 데이터베이스에 대한 적절한 액세스 권한이 있는지 확인하십시오.
  • 사용자 권한 부여:

    • 다음 SQL 명령을 사용하여 필요한 권한을 부여합니다.
      GRANT ALL PRIVILEGES ON Database_name.* TO user_name@host_name;
    • "database_name"을 실제 데이터베이스 이름으로 바꾸고 " user_name"을 $dbuser에 지정된 사용자로 바꿉니다.
    • 로컬 컴퓨터에서 액세스 권한을 부여하려면 "host_name"을 "localhost"로 지정합니다.
  • MySQL 바인드 주소 구성:

    • MySQL 구성 파일(일반적으로 my.cnf라는 이름)에서 "bind-address" 설정을 확인하고 모든 호스트의 연결을 허용하도록 수정합니다.
      바인딩 주소 = 0.0.0.0
    • 변경 사항을 적용하려면 MySQL 서비스를 다시 시작하세요.
  • 업데이트 코드:

    • mysql_connect() 함수에 사용자 이름과 비밀번호를 모두 포함하도록 PHP 코드를 수정하세요.
      mysql_connect($dbhost, $dbuser, $dbpass) 또는 die(mysql_error());
  • 원격 액세스 활성화(필요한 경우):

    • 원격 호스트로부터의 액세스를 허용하려면 MySQL 서버가 포트에서 수신 대기하는지 확인하세요. 3306이며 방화벽 규칙은 해당 포트에 대한 연결을 허용하도록 구성되어 있습니다.

위 내용은 사용자 \'\'@\'localhost\'의 데이터베이스에 대한 \"액세스 거부\"가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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