본문 바로가기

Skills/System

mysql 4.1에서 ODBC 로 윈도우 접속할떄 해줘야 할 것!


외주게임제작프로젝트에서 월급올려주지않으면 서버셋팅 아주 기본적으로만 해주고
빠지겠다고 선언한지 엊그제인데, 벌써 프로그래머들이 난리다...
mysql ODBC연결 안된다고..( 어쩌라고!!! 내가 메뉴얼 작성한거 봄서 설치도 해놓구선!!! )

일단 4.1부턴 암호관리방식이 hash 방식으로 변경되서 기존 클라이언트에서 접속시,

Client does not support authentication protocal requested by server; consider upgrading MySQL client.
(클라이언트에서 지원하지 않는 인증프로토콜을 서버가 요구합니다;
클라이언트 업그레이드를 살펴봐주세요.)

라고 뜬다.

해결법은 뭐 별거 있나. 클라이언트 업그레이드 혹은 예전 암호방식으로 바꿔주는수밖에 ㅎ
ODBC라면 클라이언트 업그레이드는 불가하니 암호방식을 예전으로 돌려주면 될거같다.

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

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

mysql> 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;

근데.. 월급도 못올려받고 게임제작 지원을 요로코롬 해줘야둬~? 앙앙앙?