>백엔드 개발 >PHP 튜토리얼 >\'mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다\' 오류를 수정하는 방법은 무엇입니까?

\'mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다\' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-04 06:25:02916검색

How to Fix

이전 인증으로 인한 MySQL 연결 오류

"mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다"라는 오류 메시지가 표시되는 것은 다음과 같은 경우 호환성 문제를 의미합니다. 오래된 비밀번호 체계를 사용하는 MySQL 데이터베이스에 연결을 시도합니다. 이 문제를 해결하려면 데이터베이스 서버가 이전 비밀번호 스키마를 사용하도록 구성되어 있는지 확인하는 것이 중요합니다.

서버 구성 확인

다음 SQL 쿼리를 실행합니다.

<code class="sql">SHOW VARIABLES LIKE 'old_passwords'</code>

이해하기 결과

  • 결과가 old_passwords,Off이면 서버는 새 인증 루틴을 사용하도록 구성됩니다. 사용자 비밀번호는 이전 형식으로 저장될 수 있지만 서버는 인증을 위해 새 루틴을 사용합니다.
  • 결과가 old_passwords,On이면 서버는 기본적으로 이전 인증 루틴을 사용하도록 구성됩니다. 이 경우 이전 비밀번호 구성표가 인증에 사용됩니다.

문제 해결 및 해결

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

  1. 사용자 비밀번호 형식 확인: 사용자 비밀번호 길이를 확인하세요. mysql.user 테이블. 16자 길이는 이전 비밀번호를 나타내고 41자 길이는 새 비밀번호를 나타냅니다.
  2. 새 비밀번호 설정(필요한 경우): 사용자 비밀번호가 이전 비밀번호인 경우 형식을 지정하려면 다음을 사용하여 새 비밀번호를 설정하세요. 명령:
<code class="sql">SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');</code>
  1. 권한 플러시: 다음을 실행하여 데이터베이스의 권한을 업데이트합니다.
<code class="sql">FLUSH Privileges;</code>
  1. 비밀번호 길이 재확인: 다음에서 사용자의 비밀번호 길이를 다시 확인하세요. mysql.user 테이블. 이제 41자가 되어야 하며 이는 새 비밀번호 형식이 사용되고 있음을 나타냅니다.
  2. 연결 다시 만들기: 이 단계를 완료한 후 클라이언트(예: mysqlnd)로 데이터베이스에 다시 연결해 보세요. . 연결이 성공해야 합니다.

추가 리소스

자세한 내용은 다음 MySQL을 참조하세요. 문서:

  • http://dev.mysql.com/doc/refman/5.0/en/old-client.html
  • http://dev.mysql.com/ 디 oc/refman/5.0/en/password-hashing.html
  • http://dev.mysql.com/doc/refman/5.0/en/set-password.html

위 내용은 \'mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다\' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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