휴! 여러분들께서 계속 같은 질문을 하시니 어떻게 해결을 해 드렸으면 합니다.
사실 개인적으로 이런 현상은 mysql 의 버그에 가까운 에러라고 생각합니다.
1. 다음 에러의 원인
./bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock'
이것의 원인은 두가지 정도로 생각할 수 있습니다.
1) 이미 기존에 설치된 mysql 패키지가 제대로 지워 지지 않은 상태에서 또 다른 mysql 패키지가 설치 되었다.
2) mysql 을 컴파일 하면서 파일의 설치 위치를 default 가 아닌 사용자 정의로 했던지, 또는 loacal unix socket file 의 위치를 강제로 지정했다.
사실 이런 경우가 아닌 분들도 있다고 합니다. 어찌 되었던 개인적인 경험으로는 이런 경우가 가장 흔한 것 같습니다.
2. 그럼 해결법은 무엇인가.
1) 초심자들이 컴파일 할 경우에는 반드시 default 파일 위치 그대로 해서 컴파일하여 설치한다. 조그만 기교라도 부리지 말기를 바랍니다.
2) 숙련된 사용자라면 당연히 본인이 원하는 위치에 프로그램을 설치하길 원할 것입니다. 만약 그렇다면 mysqld 데먼을 기동시에 unix local socket 파일의 위치를 /tmp/mysql.sock 로 강제로 지정해 주시기 바랍니다.
./libexec/mysqld --socket=/tmp/mysql.sock \r
--basedir=/usr/local --datadir=/usr/local/var/mysql \r
--language=euc_kr
와 유사한 옵션을 주고 기동하시기 바랍니다. 물론 이것의 기본 옵션은 ./libexec/mysqld --help 해 보시면 보실수 있습니다.
참고로 하시기 바랍니다.
3) 마지막으로 한가지 더 해 볼수 있는 것이 find / -name mysql.sock 로 mysql.sock 파일의 위치를 확인한 후 이것의 link 파일을 /tmp 디렉토리에 만들어 주는 것입니다. 하지만 이것은 mysqld 를 새로 기동할때마다 새로 만들어 주어야 한다는 단점이 있습니다. 이 파일은 regular file 이 아닌 unix socket domain 이기 때문입니다.
이상 몇가지 짚어 보았지만 제대로 이해를 못하시는 분들도 계실 것이라고 생각을 합니다. 하지만 다른 방법이 없습니다. 나름대로 이 글을 토대로 연구해 보시고 더 좋은 방법을 발견하시는 분들은 이곳에 다시 포스팅 해 주시면 감사 드리겠습니다.
> 1.[root@www mysql]# ./bin/mysqladmin shutdown
> ./bin/mysqladmin: connect to server at 'localhost' failed
> error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (11
> 1)'
> Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
>
> 2.mcext62Hken mcextM8aMTy mcextdpIPkI mcextouDeIb upgrade.log
> [root@www /tmp]# mysql
> ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/m
> ysql.sock' (111)
>
> 3.000623 19:33:20 Can't start server: Bind on TCP/IP port: 주소가 이미 사용 중입~
> ~다
> 000623 19:33:20 Do you already have another mysqld server running on port: 3306
> ?
> 000623 19:33:20 Aborting
>
> mysqld ended on Fri Jun 23 19:33:20 KST 2000
>
> 제가 판단하는 에러의 실체는 데몬이 죽는다. 살리는 확실한 방법은 없는 것인가요? 여러가지로 해보
> 라는거 다 해봤는데...
> 여기..../bin/mysql_install_db 는 생성만 잘해주는거 같군요.
> 그리고 localhost와 충동해서 그런지 속시원히 대답해 주실 전문가 없습니까? 뭔가가 지금 프로그램을
> 잡고 있던지 잡아먹고 있어서 그런 에러가 나오는거 같은데...어디부분인지 속시원하게 해결책 알려주
> 실분 없나요? 구동의 대가님 부탁해요. 한마디만이라도.....
|