현재 위치: > 최신 기사 목록> Connect () 함수에서 발생하는 "액세스 거부"오류 문제를 해결하는 방법은 무엇입니까?

Connect () 함수에서 발생하는 "액세스 거부"오류 문제를 해결하는 방법은 무엇입니까?

M66 2025-07-18

Connect () 함수를 사용하여 PHP의 데이터베이스에 연결할 때 "액세스 거부"오류가 발생하는 것이 일반적인 문제입니다. 이 오류는 일반적으로 데이터베이스에 연결하는 권한이 허용되지 않음을 나타냅니다. 이 기사는 이러한 문제를 해결하기위한 아이디어와 특정 방법을 자세히 소개하여 문제를 신속하게 찾아서 해결하는 데 도움이됩니다.


1. "접근 거부"의 의미를 이해

"Access Denied"는 일반적으로 데이터베이스 서버가 연결 요청을 거부합니다.

  • 잘못된 사용자 이름 또는 비밀번호

  • 연결된 호스트는 데이터베이스에 액세스 할 수 없습니다.

  • 데이터베이스 사용자 권한이 충분하지 않습니다

  • 데이터베이스 서버 구성 제한

이러한 유형의 문제는 MySQL과 같은 관계형 데이터베이스에서 일반적입니다.


2. 문제 해결 단계에 대한 자세한 설명

1. 사용자 이름과 비밀번호가 올바른지 확인하십시오

PHP 코드에서 데이터베이스에 연결하는 코드는 다음과 유사합니다.

 <?php
$servername = "m66.net";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// 연결을 만듭니다
$conn = new mysqli($servername, $username, $password, $dbname);

// 연결을 확인하십시오
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}
echo "연결이 성공적으로 연결됩니다";
?>

$ username$ password 가 올바른지 확인하십시오. 잘못된 사용자 이름이나 암호로 인해 "액세스 거부"가 발생할 수 있습니다.

2. 연결된 호스트에 권한이 있는지 확인하십시오

MySQL 사용자 권한은 사용자 이름과 user@localhostuser@192.168.1.1 과 같은 사용자 이름과 호스트의 조합을 기반으로합니다.

IP 주소 또는 원격 호스트를 사용하여 연결하여 데이터베이스 사용자가 해당 호스트에 액세스 할 수 있는지 확인하십시오.

 SELECT user, host FROM mysql.user WHERE user='your_username';

권한이 충분하지 않은 경우 다음 명령을 사용하여 권한을 추가 할 수 있습니다.

 GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'your_client_ip' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;

3. 데이터베이스 서버가 원격으로 연결되어 있는지 확인하십시오

기본적으로 MySQL 서버는 로컬 연결 만 허용합니다. MySQLD 구성 파일의 BAND-ADDRESS 설정이 원격 액세스를 허용하는지 확인해야합니다.

일반적으로 구성 파일 /etc/mysql/my.cnf 가 다음에 있습니다.

 bind-address = 0.0.0.0

모든 IP 연결이 허용됨을 나타냅니다. 127.0.0.1 인 경우 로컬 연결 만 허용됩니다.

4. 방화벽 설정을 확인하십시오

방화벽은 데이터베이스 포트 (일반적으로 3306)가 대중에게 열리는 것을 방지하여 연결이 불가능할 수 있습니다. 명령을 사용하여 포트 연결을 감지 할 수 있습니다.

 telnet m66.net 3306

연결이 실패하면 방화벽 설정을 확인하십시오.

5. PHP 오류 메시지를 사용하여 포지셔닝을 돕습니다

연결이 실패하면 MySQLI_CONNECT_ERROR ()는 특정 오류 메시지를 제공 할 수 있습니다.

 <?php
$conn = new mysqli("m66.net", "your_username", "your_password", "your_database");
if ($conn->connect_error) {
    die("연결이 실패했습니다: " . $conn->connect_error);
}
?>

오류 프롬프트와 함께 대상 문제 해결을 수행하십시오.


3. 요약

Connect () 함수를 사용하여 PHP에서 "Access Denied"오류가 발생하면 다음 측면에서 확인해야합니다.

  • 사용자 이름과 비밀번호가 올바른지 확인하십시오

  • 데이터베이스 사용자가 해당 호스트에 액세스 할 수 있는지 확인

  • 데이터베이스 서버의 원격 액세스 구성을 확인하십시오

  • 네트워크 및 방화벽 설정을 확인하십시오

  • 오류 메시지를 사용하여 포지셔닝을 돕습니다

위의 단계를 통해 기본적으로 연결 거부 문제를 찾고 해결할 수 있습니다.