반응형
제목 그대로다.
나의 경우는 C#으로 작업하다가 접한 내용인데,
C#에서 mysql 로 접속하기 위해 접속 문자열을 작성했더니 제목과 같은 에러가 발생했다.
"Authentication with old password no longer supported, use 4.1 style password
구글신께 "C# Authentication with old password no longer supported, use 4.1 style password" 로 질문하였더니, 바로 계시를 내려 주신다.
http://stackoverflow.com/questions/15772479/authentication-with-old-password-no-longer-supported-use-4-1-style-passwords ( 진리의 stackoverflow )
음...혹시나 영어 울렁증을 있으신 분들이 계시다면, 아래의 해결책대로 하시면 됨.
1. console 등을 이용, mysql 에 접속한다.
$mysql -u root
2. mysql 콘솔에서 이하의 두 문장을 실행한다.
mysql> SET SESSION old_passwords=0;
mysql> SET PASSWORD FOR 너님계정아이디=PASSWORD('너님계정암호');
3. C#으로 다시 접속해 본다.
4. 성공을 즐긴다.
나는 이걸로 됐는데, 글쓴이는 "만일 안되면, 그냥 SET PASSWORD=PASSWORD('암호') 로 해보셈 " 뭐 이렇게 써있다. 참고하시길.
이거 내용을 좀 보니까, MYSQL 이 4.1 버전 이전과 이후로 암호 처리 방식이 다른가 보다.
저 PASSWORD() 함수는 "일반 문자열->암호화된 문자열" 로 바꾸어 주는 함수 같은데, 암호화 방식도 다른듯.( 아님 이전엔 암호화 안하고 그냥 평문을 넣었던가 )
그래서 심지어 OLD_PASSWORD() 함수도 존재하는 듯 하다.
아. 그리고 혹시나해서 적어놓는 C#의 MYSQL 접속 문자열은 다음과 같다.
string connStr = string.Format(@"server=domain123.co.kr;user=아이디;password=암호;database=디비이름;port=3306");
결론 : StackOverflow 를 경배하라.
반응형
'프로그램 > mysql' 카테고리의 다른 글
Linux 에서 C 컴파일용 mysql library + header file 구하기. (0) | 2013.08.05 |
---|---|
Linux + C/C++ + Mysql 예제 (0) | 2013.07.31 |
mysql 외부 접속이 안될때. (5) | 2013.07.24 |
printf 에서 동적 변수 지정. (0) | 2011.11.16 |
mysql 에서는 alter 의 문법이 다르다. (0) | 2011.11.16 |