>  기사  >  백엔드 개발  >  레거시 인증을 사용하여 MySQL 4.1에 연결할 수 없는 이유는 무엇입니까?

레거시 인증을 사용하여 MySQL 4.1에 연결할 수 없는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-03 19:27:29154검색

Why Can't I Connect to MySQL 4.1  Using Legacy Authentication?

레거시 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다.

MySQL 데이터베이스에 연결하려고 하면 "연결" 오류 메시지가 나타날 수 있습니다. 오류(2000) mysqlnd는 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다." 이 문제는 MySQL 4.1 이전 버전에서 사용되는 더 이상 사용되지 않는 비밀번호 체계로 인해 발생합니다. MySQL의 최신 버전에서는 잠재적으로 연결 문제를 일으킬 수 있는 것으로 알려진 오래된 비밀번호를 사용할 수 있는 옵션을 제공합니다.

MySQL 데이터베이스 연결 문제 해결

MySQL 데이터베이스의 경우 타사 공급자가 관리하므로 해당 구성을 제어하지 못할 수도 있습니다. 그러나 데이터베이스에 대한 관리 액세스 권한이 있는 경우:

1. 서버 비밀번호 스키마 설정 확인:

MySQL 쿼리 실행:

SHOW VARIABLES LIKE 'old_passwords'
  • 결과가 "old_passwords,Off"이면 서버가 기본적으로 기존 비밀번호 스키마.
  • 결과가 "old_passwords,On"인 경우 사용자 테이블의 기존 비밀번호 항목 여전히 존재하는 경우 오래된 인증방식을 사용하게 됩니다.

2. 'mysql.user' 테이블에서 비밀번호 길이 확인:

쿼리 실행:

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
  • 기존 비밀번호의 길이는 16자입니다.
  • 최신 비밀번호의 길이는 41자입니다. 문자.

3. 사용자 비밀번호 및 구성 업데이트:

  • 다음 쿼리를 사용하여 영향을 받는 계정에 대한 비밀번호 재설정을 구현합니다.
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
  • 데이터베이스 권한 새로 고침:
FLUSH Privileges;
  • 비밀번호를 확인하세요 'mysql.user' 테이블의 길이가 41로 변경되었습니다.

4. MySQL 문서를 참조하세요:

이 문제 해결에 대한 추가 정보는 다음 MySQL 문서를 참조하세요:

  • [기존 클라이언트](http://dev.mysql .com/doc/refman/5.0/en/old-client.html)
  • [비밀번호 해싱](http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html)
  • [비밀번호 설정](http://dev.mysql.com/doc/ refman/5.0/en/set-password.html)

위 내용은 레거시 인증을 사용하여 MySQL 4.1에 연결할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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