이전 인증으로 인한 MySQL 연결 오류
"mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다"라는 오류 메시지가 표시되는 것은 다음과 같은 경우 호환성 문제를 의미합니다. 오래된 비밀번호 체계를 사용하는 MySQL 데이터베이스에 연결을 시도합니다. 이 문제를 해결하려면 데이터베이스 서버가 이전 비밀번호 스키마를 사용하도록 구성되어 있는지 확인하는 것이 중요합니다.
서버 구성 확인
다음 SQL 쿼리를 실행합니다.
<code class="sql">SHOW VARIABLES LIKE 'old_passwords'</code>
로그인 후 복사
이해하기 결과
- 결과가 old_passwords,Off이면 서버는 새 인증 루틴을 사용하도록 구성됩니다. 사용자 비밀번호는 이전 형식으로 저장될 수 있지만 서버는 인증을 위해 새 루틴을 사용합니다.
- 결과가 old_passwords,On이면 서버는 기본적으로 이전 인증 루틴을 사용하도록 구성됩니다. 이 경우 이전 비밀번호 구성표가 인증에 사용됩니다.
문제 해결 및 해결
문제를 해결하려면 다음 단계를 따르세요.
-
사용자 비밀번호 형식 확인: 사용자 비밀번호 길이를 확인하세요. mysql.user 테이블. 16자 길이는 이전 비밀번호를 나타내고 41자 길이는 새 비밀번호를 나타냅니다.
-
새 비밀번호 설정(필요한 경우): 사용자 비밀번호가 이전 비밀번호인 경우 형식을 지정하려면 다음을 사용하여 새 비밀번호를 설정하세요. 명령:
<code class="sql">SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');</code>
로그인 후 복사
-
권한 플러시: 다음을 실행하여 데이터베이스의 권한을 업데이트합니다.
<code class="sql">FLUSH Privileges;</code>
로그인 후 복사
-
비밀번호 길이 재확인: 다음에서 사용자의 비밀번호 길이를 다시 확인하세요. mysql.user 테이블. 이제 41자가 되어야 하며 이는 새 비밀번호 형식이 사용되고 있음을 나타냅니다.
-
연결 다시 만들기: 이 단계를 완료한 후 클라이언트(예: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!