[root@www conf]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
이렇게 나오는 군요.
그런데 /tmp 에 링크파일을 어떻게 만드는지요.
ln -s /var/lib/mysql/mysql.sock mysql.sock
이렇게 하면 될까요?
> 휴! 여러분들께서 계속 같은 질문을 하시니 어떻게 해결을 해 드렸으면 합니다.
> 사실 개인적으로 이런 현상은 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와 충동해서 그런지 속시원히 대답해 주실 전문가 없습니까? 뭔가가 지금 프로그램을
> > 잡고 있던지 잡아먹고 있어서 그런 에러가 나오는거 같은데...어디부분인지 속시원하게 해결책 알려주
> > 실분 없나요? 구동의 대가님 부탁해요. 한마디만이라도.....
>
|