MySQL에 연결할 수 없음: 권한이 거부됨
PHP를 사용하여 MySQL 데이터베이스에 연결하려고 하면 "권한"을 나타내는 오류가 발생할 수 있습니다. 거부됨." 이 오류는 명령줄에서 또는 localhost와 같은 웹 서버를 통해 스크립트에 액세스할 때 발생할 수 있습니다.
특히 다음 스크립트를 사용하여 localhost에서 데이터베이스에 연결하려고 할 때:
<code class="php">$host = '155.30.136.20'; $user = 'abc_user'; $pass = 'xxxxxxxxx'; $dbname = 'welcome'; $link = mysqli_connect($host, $user, $pass,$dbname); // Connection checks and error handling omitted for brevity</code>
"오류: MySQL에 연결할 수 없습니다. 디버깅 오류 번호: 2002 디버깅 오류: 권한이 거부되었습니다"라는 오류가 나타날 수 있습니다. 이 오류는 사용자에게 데이터베이스 연결을 설정하는 데 필요한 권한이 없음을 나타냅니다.
명령줄과 localhost 실행 간의 불일치 이유는 SELinux 보안 정책과 관련이 있을 수 있습니다. 기본적으로 httpd_can_network_connect_db 정책은 비활성화되어 웹 서버가 원격 데이터베이스에 연결하는 것을 방지합니다.
이 문제를 해결하려면 다음 단계를 따르십시오.
이러한 변경을 수행한 후 웹 서버는 다음에 대한 연결을 설정할 수 있어야 합니다. "권한 거부됨" 오류가 발생하지 않고 데이터베이스를 삭제합니다.
위 내용은 Localhost에서 MySQL에 연결할 때 \'권한 거부\' 메시지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!