>  기사  >  데이터 베이스  >  콘텐츠에 따라 질문 형식으로 된 기사 제목에 대한 몇 가지 옵션은 다음과 같습니다. **일반 및 오류 메시지 중심:** * **\"mysqlnd가 다음을 사용하여 MySQL 4.1에 연결할 수 없는 문제를 해결하는 방법

콘텐츠에 따라 질문 형식으로 된 기사 제목에 대한 몇 가지 옵션은 다음과 같습니다. **일반 및 오류 메시지 중심:** * **\"mysqlnd가 다음을 사용하여 MySQL 4.1에 연결할 수 없는 문제를 해결하는 방법

Barbara Streisand
Barbara Streisand원래의
2024-10-25 05:28:29468검색

Here are a few options for an article title, based on your content, formatted as a question:

**General & Focus on Error Message:**

* **How to Fix

보안되지 않은 인증으로 인한 MySQL 연결 오류 수정

데이터베이스 연결을 시도할 때 다음 오류가 발생할 수 있습니다.

Database connection failed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password').

이 문제는 PHP와 MySQL의 버전이 일치하지 않아 발생합니다. MySQL은 보안 조치를 강화하여 보다 안전한 인증 방법을 사용해야 합니다.

해결 방법:

  1. 서버 구성 업데이트:

    • 웹 호스팅 서버(미디어 템플)에서 호스트에게 문의하여 MySQL 버전을 5.5.16 이상으로 업데이트하세요(로컬 컴퓨터의 버전과 일치).
  2. 안전하지 않은 인증 비활성화:

    • "my.cnf" 구성 파일(예: "/etc/my.cnf")을 찾습니다. 또는 "/opt/lampp/etc/my.cnf").
    • "old_passwords = 1" 줄을 제거하거나 주석 처리합니다.
  3. MySQL 다시 시작:

    • 변경 사항을 적용하려면 MySQL 서비스를 다시 시작하세요.
  4. 비밀번호 재설정:

    • 관리 도구(예: MySQL Workbench 또는 phpMyAdmin)를 사용하여 MySQL 데이터베이스에 연결합니다.
    • "SELECT user, Length(Password) FROM mysql.user;" 쿼리를 실행합니다. 안전하지 않은 비밀번호(16자 해시)를 사용하는 사용자를 식별합니다.
    • "UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username' 쿼리를 사용하여 안전하지 않은 인증을 사용하는 각 사용자의 비밀번호를 업데이트합니다. ';".
  5. 권한 플러시:

    • "FLUSH PRIVILEGES;" 쿼리를 실행합니다.

추가 고려 사항:

  • PHP 5.2 이하 버전을 사용하는 경우 서버 측에서는 오래된 인증 방법을 허용하려면 "my.cnf" 파일에서 "old-passwords" 플래그를 제거해야 할 수도 있습니다.
  • 오류에 언급된 대로 MySQL 루트 사용자 비밀번호가 안전한지 확인하세요. 메시지.

위 내용은 콘텐츠에 따라 질문 형식으로 된 기사 제목에 대한 몇 가지 옵션은 다음과 같습니다. **일반 및 오류 메시지 중심:** * **\"mysqlnd가 다음을 사용하여 MySQL 4.1에 연결할 수 없는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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