> 데이터 베이스 > MySQL 튜토리얼 > 루트 사용자가 작동하는데도 MySQL에 연결하면 내 PHP 코드가 '액세스 거부'되는 이유는 무엇입니까?

루트 사용자가 작동하는데도 MySQL에 연결하면 내 PHP 코드가 '액세스 거부'되는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-31 08:49:13
원래의
354명이 탐색했습니다.

Why Does My PHP Code Get

PHP 함수의 "연결 실패: 사용자 'root'@'localhost'에 대한 액세스 거부됨(비밀번호 사용: YES)" 오류 해결

PHP를 사용하여 MySQL 데이터베이스에 연결할 때 "연결 실패: 사용자 'root'@'localhost'(비밀번호 사용: YES)에 대한 액세스가 거부되었습니다."라는 메시지가 나타날 수 있습니다. 오류. 이 문제는 비밀번호를 올바르게 설정하고 명령줄에서 데이터베이스에 액세스하더라도 발생할 수 있습니다.

해결책

이 문제를 해결하려면 다음 단계를 수행할 수 있습니다.

  1. 루트로 로그인 사용자:

    • mysql -u root -p -h localhost를 사용하여 루트 사용자로 MySQL에 로그인합니다.
  2. 새 사용자 만들기:

    • 제한된 권한으로 새 사용자 만들기 특권. 예: CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass';
  3. 데이터베이스 생성:

    • 사용자를 위한 데이터베이스를 생성합니다. 예: CREATE DATABASE shop;
  4. 권한 부여:

    • 새 사용자에게 데이터베이스에 대한 권한을 부여합니다. 예: GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost';
  5. 로그아웃 후 다시 로그인:

    • 루트 계정에서 로그아웃한 후 새 사용자 계정으로 다시 로그인하세요. 종료를 사용하십시오. 로그아웃하고 mysql -u francesco -p -h localhost를 사용하여 새 사용자로 로그인합니다.
  6. 데이터베이스 재구축:

    • 소스 등 스크립트를 사용하여 데이터베이스 재구축 shop.sql.
  7. PHP에서 연결:

    • PHP 함수에서 새 사용자 자격 증명을 사용하여 연결합니다. 데이터베이스에. 예: $conn = new mysqli("localhost", "francesco", "some_pass", "shop");

다음 단계에 따라 MySQL에 연결합니다. PHP 함수의 데이터베이스를 사용하여 액세스 거부 문제를 해결해야 합니다.

위 내용은 루트 사용자가 작동하는데도 MySQL에 연결하면 내 PHP 코드가 '액세스 거부'되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿