>  기사  >  백엔드 개발  >  PHP가 mysql 오류 13에 연결되면 어떻게 해야 할까요?

PHP가 mysql 오류 13에 연결되면 어떻게 해야 할까요?

PHPz
PHPz원래의
2023-03-31 10:08:431346검색

php를 사용하여 MySQL에 연결할 때 오류 13에 대한 해결 방법

php를 사용하여 MySQL에 연결할 때 오류 13이 발생하는 경우가 있습니다. 이 기사에서는 이 문제에 대한 몇 가지 해결 방법을 소개하겠습니다.

우선 13번 오류는 MySQL 권한 문제입니다. 이는 사용자에게 MySQL에 연결할 때 충분한 권한이 없어 MySQL에 연결할 수 없기 때문일 수 있습니다. 이 문제를 해결하려면 MySQL에 로그인하여 사용자에게 충분한 권한을 부여해야 합니다.

이 기사에서는 몇 가지 해결 방법을 제공합니다.

방법 1: 사용 중인 사용자의 MySQL 권한을 확인하세요.

MySQL 연결을 사용하여 PHP에서 MySQL에 액세스할 때 MySQL 사용자 이름과 비밀번호를 제공해야 합니다. . 기본적으로 MySQL은 익명 사용자의 연결을 허용하지 않습니다. 따라서 사용된 MySQL 사용자에게 필요한 권한이 있는지 확인해야 합니다.

다음 명령을 사용하여 사용 중인 MySQL 사용자의 권한을 확인할 수 있습니다.

SHOW GRANTS FOR 'username'@'localhost';

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

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

참고하세요 사용자에게 모든 데이터베이스와 테이블에 대한 전체 액세스 권한이 부여됩니다.

방법 2: 방화벽 설정 확인

경우에 따라 방화벽으로 인해 연결 오류 13이 발생할 수도 있습니다. 컴퓨터에서 방화벽을 실행 중인 경우 방화벽 규칙에서 MySQL 포트(기본값은 3306)가 열려 있는지 확인해야 합니다.

다음 명령을 사용하여 포트가 열려 있는지 확인할 수 있습니다.

sudo ufw status

포트가 열려 있지 않으면 다음 명령을 사용하여 포트를 열 수 있습니다.

sudo ufw allow 3306/tcp

방법 3: MySQL 구성에서 바인드 주소 변경 file

Another 요소는 MySQL 서버 구성 파일의 바인드 주소이며, 기본값은 localhost입니다. 원격 머신에서 MySQL에 연결하려면 0.0.0.0으로 변경해야 합니다.

보안을 보장하려면 이 방법을 사용할 때 그에 따라 방화벽을 구성해야 합니다.

바인드 주소를 변경하는 단계는 다음과 같습니다.

  1. 다음 명령을 사용하여 구성 파일을 엽니다.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 파일에서 바인드 주소 키워드를 검색하여
bind-address = 0.0.0.0
  1. 로 변경합니다. 파일을 저장하고 닫은 다음 MySQL 서비스를 다시 시작하세요.
sudo systemctl restart mysql

다음은 PHP 연결 MySQL 오류 13을 해결하는 몇 가지 일반적인 방법입니다. 위의 방법을 시도했지만 여전히 문제를 해결할 수 없는 경우 PHP와 MySQL 버전이 호환되는지 확인해야 합니다.

이 기사가 도움이 되기를 바랍니다!

위 내용은 PHP가 mysql 오류 13에 연결되면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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