mysql 업글 할때... 정보
mysql 업글 할때...본문
지난번 외부로그인 문제는 답변해 주신대로 해서 정말 잘 해결했습니다. 고맙습니다
지금 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로 수정하시면 그대로 사용가능합니다.
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
해결방법은 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 으로 하시는 것이 한번의 수고를 더는 방법일 것입니다.
어차피 업을 하실거라면 mysql 5.0.x 으로 하시는 것이 한번의 수고를 더는 방법일 것입니다.