프로그래밍/DB
DB connectin error - Authentication with old password no longer supported, use 4.1 style passwords
kugancity
2015. 5. 5. 16:45
반응형
C# 프로그램에서 mysql에 접속하여 사용하고 있는데
어느순간 아래와 같은 메세지가 뜨면서 접속이 안되는 현상이 발생하였습니다.
에러 메세지 : Authentication with old password no longer supported, use 4.1 style passwords
에러가 나는 DB 접속문: MySqlConnection conn = new MySqlConnection("SERVER=***.***.com;DATABASE=**;UID=**;PWD=****;");
mysql 4.1 버전부터 PASSWORD() 함수가
기존에는 16비트 해쉬값을 사용하였으니 41비트 해쉬값을 생성하도록 변경되었습니다.
에러 메세지에 따라 접속하는 유저의 암호를 새로운 해쉬값으로 생성하도록 아래와 같이 작업하였습니다.
(그런데 닷넷 connector 업뎃도 안한것 같은데 왜 갑자기 에러가;)
해결방법
// 리눅스에서 mysql console에 접속
#mysql -u root -p
// 예전 16비트 해쉬값을 사용하지 않도록 old_passwords 시스템변수를 0으로 변경한다
// 참고:https://dev.mysql.com/doc/refman/5.0/en/password-hashing.html
mysql> SET old_passwords=0;
// 해당 username의 password를 41비트 해쉬값으로 변경한다.
// 예시 SET PASSWORD FOR root=PASSWORD('1234');
mysql> SET PASSWORD FOR username=PASSWORD('password');
or (호스트 명시할때)
// 해당 host의 username의 password를 41비트 해쉬값으로 변경한다.
mysql> SET PASSWORD FOR user@host = PASSWORD('password');
728x90
반응형