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
남을 비난하는 것만큼 쉬운 일은 없다. 어떤 일이 그릇되었다는 것을 아는 데는 그리 많은 것이 필요하지 않다. 하지만 어떻게 하면 그것을 다시 바르게 할 수 있는가를 아는 데는 남다른 눈썰미가 있어야 한다. (빌 로저스)