어떻게 된 상황인지 대략적으로는 이해가 갑니다.
혹시 이전 버전의 mysql 이 깔려 있는 것은 아닐까요.
한번 점검해 보시기 바랍니다.
client 프로그램이던 아니면 mysqld 데먼이던 어느것이든지 예전버전이 깔려 있을 가능성도 있습니다.
--old-protocol 옵션은 훌륭한 생각이었습니다. :-)
> 다음과 같은 에러가 나왔을 경우 저의 경우와 해결방안입니다.
> 같은 내용의 게시물이 많이 나왔으니 먼저 참고 하세요.
>
> [에러내용]
> [root@db mysql]# ./bin/safe_mysqld &
> [2] 5111
> [root@db mysql]# Starting mysqld daemon with databases from /usr/local/mysql/dat
> a
> mysqld daemon ended
> -----------------------------------------------------------------------
> [저의 사양]
> os : linux redhat 6.1
> mysql : Ver 9.36 Distrib 3.22.27, for pc-linux-gnu (i686)(소스설치)
> 설치위치 : /usr/local/mysql
>
> ------------------------------------------------------------------------
> [과정]
> 저는 mysql권한 설정을 한 후 mysql을 shutdown한 후 다시 실행 시 윗 부분과
> 같은 에러가 뜨더군요.
> 문제는 mysql데이터베이스의 user테이블에 insert 시 passwd필드 부분을 password()함수를 사용하지
> 않고 insert시킨 것이 화근이 되었죠.
> 본 게시판에 나온 대로 여러가지 방법을 동원하였지만 실패했습니다.
>
> 마지막으로
> http://database.sarang.net/board/mysql.php3?table=mysql&action=article&arg=2250 게시판에 나온대
> 로 따라 했습니다.
>
> 1.[root@db mysql]# cd /usr/local/mysql
> 2.[root@db mysql]# ./bin/mysqld --socket=/tmp/mysql.sock \
> --basedir=/usr/local --datadir=/usr/local/var/mysql \
> 이렇게 했더니 old-protocol어쩌구하면서 passwd필드가
> 잘 못 되었다고 나오더군요. (자세히는 기억이 안 남)
> 그래서 실행 옵션에 --old-protocol(역시 자세히는 기억이 안 남)을 추가하여
> 재실행 했습니다.
> 3.[root@db mysql]# ./bin/mysqld --socket=/tmp/mysql.sock \
> --basedir=/usr/local --datadir=/usr/local/var/mysql \
> --old-protocol(??)
> 이렇게 했더니 살아 나더군요... 휴~
>
> 이상이 제가 해 온 작업입니다.
>
> 조금 두서가 없던 것 같습니다만 다른 게시판에 내용을 참고하시면 해결이 되시리라 봅니다.
|