더 이상 사용되지 않는 인증으로 MySQL 연결 문제 해결
bluesql.net과 같은 플랫폼에서 호스팅되는 MySQL 데이터베이스에 연결하려고 하면 사용자에게 다음과 같은 문제가 발생할 수 있습니다. "연결 오류(2000) mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다" 오류. 이 오류는 이전 MySQL 버전과 이전 비밀번호 스키마를 모두 지원하는 최신 버전에서 사용하는 인증 프로토콜 간의 차이로 인해 발생합니다.
이 문제를 해결하려면 서버가 다음과 같은지 확인하는 것이 중요합니다. 기본적으로 이전 비밀번호 스키마를 사용하도록 구성됩니다. 이는 SQL 쿼리 "SHOW VARIABLES LIKE 'old_passwords';"를 실행하여 확인할 수 있습니다. 명령줄에서 또는 GUI 기반 MySQL 관리 도구를 사용합니다. 쿼리가 "old_passwords,Off"를 반환하면 기존 사용자 계정은 이전 비밀번호를 사용할 수 있습니다.
사용할 인증 루틴을 확인하려면 "mysql.user" 테이블을 검사하면 됩니다. 이전 비밀번호를 사용하는 계정의 비밀번호 길이는 "16"이고, 새 비밀번호를 사용하는 계정의 길이는 "41"입니다. 새 비밀번호를 설정하려면 "SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');"를 사용하세요. 쿼리를 수행하여 "User" 및 "Host"를 이전 쿼리에서 얻은 값으로 바꿉니다.
비밀번호가 업데이트되면 "FLUSH Privileges;"를 실행합니다. 질문. 동일한 "mysql.user" 테이블 쿼리를 다시 사용하여 비밀번호 길이를 확인하십시오. 이제 "41"이 되어야 합니다. 이 변경으로 인해 mysqlnd를 사용하는 클라이언트가 MySQL 서버에 성공적으로 연결할 수 있습니다.
자세한 내용은 다음 링크에서 공식 MySQL 설명서를 참조하세요.
위 내용은 MySQL 'mysqlnd가 이전 인증을 사용하여 MySQL 4.1에 연결할 수 없습니다.' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!