Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 제주도설경
- 제주도
- 개복숭아
- 포천수영장
- 자연산개복숭아
- 태안수영장펜션
- 제주도눈
- 잠실수영장
- 포천투어
- 야생개복숭아 판매
- 개복숭아 판매
- 덕소골프샵
- 포천가볼만한곳
- 한라산
- 조경철천문대
- 개복숭아판매
- 돌복숭아
- 휘닉스파크
- wp-900
- 제주도눈썰매
- 자연산 개복숭아
- 괌자유여행
- 포천온천
- 충주골프장
- 야생개복숭아
- 괌
- LGG6
- 서원힐스
- 경기북부골프장
- 파주골프장
Archives
- Today
- Total
Live Brilliant
[에러:mysql]error::Client does not support authentication protocal 본문
개발은 핵찜이야/DATABASE
[에러:mysql]error::Client does not support authentication protocal
주인정 2012. 4. 17. 16:111. 첫번째 문제점
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;
님이 root로 접속이 가능했던것은 root는 비밀번호가 없어서 그렇습니다.
2. 두번째 질문
localhost로는 접속이 가능하고 IP로는 접속이 불가능한 이유는 접속가능한 IP로 등록이 되어 있지 않기 때문입니다.
select * from mysql.user
로 보시면 localhost는 보이나 IP는 보이지 않을것입니다.
mysql> grant all privileges on db명.* to 사용자계정@'IP주소'
identified by '비밀번호' with grant option;
mysql> grant reload,process on *.* to admin@localhost;
mysql> FLUSH PRIVILEGES;
위의 명령어로 접속가능한 IP로 등록해 주면됩니다.
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;
님이 root로 접속이 가능했던것은 root는 비밀번호가 없어서 그렇습니다.
2. 두번째 질문
localhost로는 접속이 가능하고 IP로는 접속이 불가능한 이유는 접속가능한 IP로 등록이 되어 있지 않기 때문입니다.
select * from mysql.user
로 보시면 localhost는 보이나 IP는 보이지 않을것입니다.
mysql> grant all privileges on db명.* to 사용자계정@'IP주소'
identified by '비밀번호' with grant option;
mysql> grant reload,process on *.* to admin@localhost;
mysql> FLUSH PRIVILEGES;
위의 명령어로 접속가능한 IP로 등록해 주면됩니다.
'개발은 핵찜이야 > DATABASE' 카테고리의 다른 글
[mysql] 많이쓰는 명령어 (0) | 2012.04.17 |
---|---|
[mysql]미러링 에러시 처리사항 (0) | 2012.04.17 |
[mysql] 기본명령어 (0) | 2012.04.17 |
[mysql ] 백업 명령 (0) | 2012.04.17 |
MSSQL 단일 사용자 해제 (0) | 2012.04.17 |
Comments