본문 바로가기

Linux/MySQL

[Error]Client does not support authentication protocol requested by server

Client does not support authentication protocol requested by server와 같은 메세지를 내뿜으며 MySQL서버에 접속되지 않는 경우. 아래와 같이 해보세요~

MySQL 4.1 이상 버전에서는 비밀번호를 해쉬알고리즘을 기반으로한 인증 프로토콜을 사용합니다.
그리고 해당 기능이 하위버전의 Client와 호환이 되지 않기에 서버를 4.1이상으로 업그레이드를 한 후에 아래와 같은 에러메세지를 접하게 될수 있습니다.

shell> mysql
Client does not support authentication protocol requested
by server; consider upgrading MySQL client

위의 문제점을 해결하기 위해서는

1. 모든 Client 프로그램을 4.1이상으로 업그레이드한다.
2. 사용하려는 계정을 4.1 이전 Client 프로그램과 통신이 가능한 이전 비밀번호 체계로 변경한다.

mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

Alternatively, use UPDATE and FLUSH PRIVILEGES:

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

3. --old-passwords 옵션으로 서버를 이전비밀번호 체계로 실행한다.

4.1 이후 비밀번호를 사용하는 계정을 모두 변경처리 한다.

SELECT Host, User, Password FROM mysql.user
-> WHERE LENGTH(Password) > 16;

'Linux > MySQL' 카테고리의 다른 글

MySQL Repliacation 복구  (0) 2008.12.26
MySQL load data infile 문.  (0) 2006.12.14
MySQL 5.0 한글 레퍼런스 메뉴얼  (0) 2006.11.30
[MySQL] MySQL 4.1 Reference  (0) 2006.10.09
MySQL euc-kr 데이타 UTF-8로 컨버팅 하기  (0) 2006.07.27