>데이터 베이스 >MySQL 튜토리얼 >루트 사용자로 MySQL에 연결할 때 '연결 실패: 액세스 거부' 오류가 발생하는 이유는 무엇입니까?

루트 사용자로 MySQL에 연결할 때 '연결 실패: 액세스 거부' 오류가 발생하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-15 12:12:12351검색

Why Am I Getting a

루트 사용자로 MySQL에 연결할 때 "연결 실패: 액세스 거부" 오류 발생

PHP를 사용하여 MySQL 데이터베이스에 연결하려고 할 때 기능을 사용하면 사용자에게 다음 오류가 발생할 수 있습니다. "연결 실패: 사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다(비밀번호 사용: YES)."

이유:

이 오류는 일반적으로 루트 사용자에게 데이터베이스에 액세스하는 데 필요한 권한이 없거나 비밀번호가 잘못된 경우에 발생합니다.

해결책:

이 문제를 해결하려면 다음을 따르세요. 단계:

  1. 루트가 아닌 사용자 만들기:

    • 루트 사용자 이름을 사용하여 MySQL에 로그인:
      mysql - u root -p -h localhost
    • 적절한 새 사용자를 생성합니다. 권한:
      CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
  2. 데이터베이스 생성:

데이터베이스가 아직 생성되지 않은 경우 다음 명령을 사용하십시오:
CREATE DATABASE shop;

  1. 권한 부여:

    • 새 사용자에게 데이터베이스에 대한 권한 부여:
      grant ALL PRIVILEGES ON shop .* 에게 'new_user'@'localhost';
  2. 로그아웃 및 로그인:

    • 루트 사용자에서 로그아웃:
      종료;
    • 새로 생성된 user:
      mysql -u new_user -p -h localhost
  3. 데이터 가져오기:

    • 데이터베이스 재구축 다음과 같은 스크립트를 사용하여 shop.sql.
  4. PHP 함수 업데이트:

    • 새 사용자 이름과 비밀번호를 사용하도록 PHP 함수를 수정합니다.
      $conn = new mysqli("localhost", "new_user", "new_password", "shop");

이 단계를 따르면 MySQL 데이터베이스에 대한 연결을 성공적으로 설정하고 "연결 실패: 액세스 거부" 오류를 방지할 수 있습니다.

위 내용은 루트 사용자로 MySQL에 연결할 때 '연결 실패: 액세스 거부' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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