mysql 업글 할때... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

mysql 업글 할때... 정보

mysql 업글 할때...

본문

지난번 외부로그인 문제는 답변해 주신대로 해서 정말 잘 해결했습니다. 고맙습니다 1.gif
 
지금 mysql 4.0을 쓰고 있는데요. 4.1이나 그 이상의 버전으로 올려볼까 하는데, 검색해 보니깐 4.1 이상에선 password()가 틀려서 로그인이 안된다는 답변이 있네요.
 
password 로 검색해 보니깐 

http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=14556

 
이런 답변을 해 주셨던데 무슨 뜻인지 모르겠습니다 ㅜㅠ
 
password를 한방에 mysql4.1 이상에서 쓸 수 있게 변환하는 법을 좀 조언해 주세요...

댓글 전체

변환은 모르겠습니다만..
lib/common.lib.php파일중 아래부분

function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}
중에서 password를 old_password로 수정하시면 그대로 사용가능합니다.
mysql 4.1 부터 grant 또는 password 함수를 사용할 경우 4.0의 암호 체계와는 다른 방식을 사용하는데, 업데이트 한 후에 실행되는 grant 의 identified 나 password 함수는 새로운 암호 체계를 사용하기 때문에 php 나 다른 언어의 mysql 관련 라이브러리의 접속 method 로는 접근이 불가능하게 됩니다.

해결방법은 php의 경우에는 mysqli extension과 같이 mysql 4.1 전용 extension을 사용해야 하는데, mysqli extension을 사용할 수 없는 경우,  즉 mysql은 4.1 로 올렸는데, php는 mysqli extension을 제공하지 않는 php4 를 사용해야 하는 경우나,  또는  기존의 프로그램들이 mysql extension 을 사용하고 있고, 수정하기에는 너무 양이 많을 경우에는 my.cnf 에서 identified 나 password 함수를 예전의 방식대로 사용  할 수 있도록 다음의 설정으로 기본 password 함수를 그대로 사용할 수 있습니다.

my.cnf 에 다음의 설정을 추가합니다.

old_passwords      = 1

이 설정은 grant 문의 identified 나 password 함수를 예전 버전의 방식으로 작동하도록 합니다. 임시로 이렇게 처리를 할수 있으나, 최종적으로는 새로운 암호화 방식을 사용할 수 있도록 프로그램을 수정을 하는 것이 좋습니다.

@oops.org
참고로 mysql 5.0.x 부터는 또 다른 암호 체계를 사용합니다.
어차피 업을 하실거라면 mysql 5.0.x 으로 하시는 것이 한번의 수고를 더는 방법일 것입니다.
전체 122 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT