정보수정 관련
여러분 안녕하세요.
서버 버전 문제로 운영하고 있는 사이트 전체를 다른 서버로 이전하여습니다.
서버 이전후 모두 정상으로 잘 돌아가고 있는데 로그인후 정보수정을 하려면
비밀번호를 입력해서 들어가야하는데 계속 비밀번호가 틀렸다는 창이 뜹니다.
로그인은 정상으로 잘 되거든요.
서번 이전하기 전에도 정보수정이 잘 되었습니다.
어떻게 해결해야하는 조언 부탁드립니다.
감사합니다.
서버 버전 문제로 운영하고 있는 사이트 전체를 다른 서버로 이전하여습니다.
서버 이전후 모두 정상으로 잘 돌아가고 있는데 로그인후 정보수정을 하려면
비밀번호를 입력해서 들어가야하는데 계속 비밀번호가 틀렸다는 창이 뜹니다.
로그인은 정상으로 잘 되거든요.
서번 이전하기 전에도 정보수정이 잘 되었습니다.
어떻게 해결해야하는 조언 부탁드립니다.
감사합니다.
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 3개
비밀번호를 담고 있는 DB 컬럼의 자료형 사이즈가 이전보다 작아져 버려서
비밀번호의 일부가 잘려져 나간거 같습니다.
예를 들면 아래와 같은 형태로 변경이 되버린거같습니다.
passwd varchar(30) === 이전 ===>> passwd varchar(20)
이렇게 되면 사이즈 10에 해당하는 문자열은 없어져 버립니다.
이전에 백업해놓으신 자료가 있으시면 확인해보시고 다시 적용시켜 보시는게 좋을거같습니다.
제가 원래 사용하던 서버는 mysql 4.0버전이고 현재 이전한 서버는 는 5.0이사입니다.
그리고 passwd varchar도 30입니다.
아직 해결은 못했습니다.
제가 기억하기론 4.1부터 알고리즘이 변경 된 것으로 알고 있습니다.
4.0 이하와 호환 하시려면 OLD_PASSWORD()를 사용하면 됩니다.
mysql> select password('test');
+-------------------------------------------+
| password('test') |
+-------------------------------------------+
| *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+-------------------------------------------+
1 row in set (0.00 sec)
mysql> select old_password('test');
+----------------------+
| old_password('test') |
+----------------------+
| 378b243e220ca493 |
+----------------------+
1 row in set (0.00 sec)
위에 보이시는것 처럼 알고리즘이 변경되어 결과물이 다르게 나옵니다.