2011년 3월 4일 금요일

디비접속 에러 패스워드 문제 [ERROR 1251: Client does not support .... ]

mysql-4.0.27 -> mysql-5.1.34 => 버전으로 올렸다.

이럴경우 비번패스워드 형식이 다르다.
기존 패스워드로 쓸 경우 아래와 같이 하면된다.
| localhost       | xxxx | *A84D7E2E0001DCCBCC777C07B9E6D81644A99887 -> mysql-5.1.34 비번 형식
| localhost       | xxxx    | 333e1da578bde9d2  -> mysql-4.0.27 비번 형식
| xxx.xxx.xxx.xxx | xxxx    | 333e1da578bde9d2
mysql -hxxx.xxx.xxx.xxx -uxxxx -p xxxxx
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client 
에러날 경우
---------------------------------------------------------------------------------------------------------------------
mysql> update mysql.user set password=old_password('xxxx') where host='xxx.xxx.xxx.xxx' and user='xxxx';
mysql> update mysql.user set password=old_password('xxxx') where host='localhost' and user='xxxx';
mysql> flush privileges;
---------------------------------------------------------------------------------------------------------------------
=> 으로 처리함.
mysql -hxxx.xxx.xxx -uxxxx -pxxx  xxxxx
접속확인할때 비번도 같이 써서 확인할 것!
 

OLD_PASSWORD()
----------------------------------------------------------------------------------------------------------------
windows xp에서는 old password 옵션을 다음과 같이 변경한다.
사용자의 계정을 새로 만들고 난 후 mysql 서버에 접속하려고 할 때 다음과 같은 오류가 발생하는 경우
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client
이 경우 다음과 같이 실행하여 해결한다.
【방법1】/etc/my.cnf 파일 수정방법
/etc/my.cnf 파일의 [mysqld] 부분에서 old_passwords = 1 을 설정해 주어 해결한다.
show variables;를 실행하여 old_passwords가 off에서 on을 변경됨을 알 수 있다.
【예제】방법1의 예제는 mysql 설치에 수록함
【방법2】mysql.user 테이블 갱신방법
shell> mysql -u root
mysql> UPDATE mysql.user SET password = OLD_PASSWORD('mypass')
    -> WHERE host = 'some_host' AND user = 'some_user';
mysql> FLUSH PRIVILEGES;
----------------------------------------------------------------------------------------------------------------
참고url: http://radiocom.kunsan.ac.kr/lecture/mysql/old_password.html

댓글 없음:

댓글 쓰기