Top

[MYSQL]password 문제 | Web-Programing
안지흠 (hoomiyam) | Html | 2012/10/30 13:52:32 | 조회:5037

이번 서버이전 업무 중 4.1 이전에 PASSWORD() 함수로 등록된 값들을 복구하려고 썡쑈를 했다
MYSQL 4.1 이상 부터 PASSWORD() 함수가 32bit(16자리) 64bit(32자리)로 변경되어서
32bit 상태의 비밀번호가 있는 필드는 PASSWORD() 함수 사용시 전혀 인식하지 못하는 문제가 발생한다.
해결방법은 크게 2가지로 나뉨.


-- 첫번째 --

4.1 버전 이하 비번이 등록된 비밀번호 조회시 OLD_PASSWORD() 함수를 사용해야 올바른 리턴값을 반환한다.
EX) SELECT OLD_PASSWORD('패스워드') FROM 테이블

4.1 버전 이상에서는 그냥 PASSWORD() 를 사용하면 됨.
EX) SELECT PASSWORD('패스워드') FROM 테이블

이렇게 처리하면 비밀번호를 체크할 수 있따

-- 두번째 --
이건 MYSQL 설정을 아예 OLD_PASSWORD 만 사용하게 만드는 것임.
리눅스에서 /etc/my.cnf 파일에 가면
old_passwords 라고 있다.
old_passwords=0 이면 64bit 새로운 비밀번호를 사용하여 기존 것은 OLD_PASSWORD() 함수 사용
1 이면 32bit로 기존 패스워드만 사용하게 설정한다.

이렇게 저장하고 MYSQL 재시작 하면 변경 완료


공유하기
공유하기
2
0
0


댓글을 불러오는 중입니다.
▲ 이전글 [MSSQL] MYSQL의 LIMIT 따라하기. 김경훈 (admin) 2012-10-30 16:02:39
▼ 다음글 [MySQL] 결과 엑셀파일로 저장하는 방법. 김경훈 (admin) 2012-10-22 10:03:31