Database

MySQL 4.1.x 비밀번호 체계변경에 따른 문제점 처리

페이지 정보

본문

손상모
http://www.ihelpers.co.kr



최근에 아래와 같은 문제로 고민하는 분들이 많아 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;

Source : http://dev.mysql.com/doc/mysql/en/Old_client.html

관련자료

등록된 댓글이 없습니다.
Today's proverb
아직도 내가 더 자라야 하는 나무로 남아 있다는 것이 얼마나 자랑스럽고 기쁜 일인가. 내 능력을 더 키울 수 있는 위치에 있다는 것이 더 없이 행복한 일이라는 것을 알고 산다면 조금도 사는 일에 조급하지 않을 것이다. 아직도 능력 없는 사람이라는 것을 아직도 희망을 가져도 좋은 사람이라는 의미로 바꿔보자. (김이연)