mysqld daemon 을 기동하면 현재 설정은 /home/mysql/var/ 라는 위치에 로컬 접속용 unix socket 파일을 만듭니다. 하지만 실재로 mysql 프로그램이 사용하는 소켓파일은 /tmp 에서 소켓파일을 찾습니다. 그런데 찾을 수 없기 때문에 당연히 에러가 나는 것입니다.
해결 법은 mysql -u root -S /path/to/socket db_name 또는 mysql 이 찾는 /tmp 라는 디렉토리에서 mysqld 소켓파일의 soft link 파일을 만들어 주면 해결 될 것으로 생각됩니다.
> mysql daemon이 안 올라옵니다.
>
> 그동안 mysql을 잘 사용하다가 조금전에
> #> mysqladmin -u root -p shutdown 명령을 쳤습니다.
>
> 그이후 reload 명령을 쳤지만 올라오지 않았습니다.
>
> 또 서버를 rebooting을 했지만(server에는 mysql daemon을 올리는
> shell이(/usr/local/etc/rc.d/mysql.sh)이 있습니다.) 올라오지
> 않습니다.
>
> mysql이 있는 디렉토리에서 '#safe_mysqld &' 를 치면
> "Starting mysqld daemon with databases from /home/mysql/var"
> "mysqld daemon ended"
> 라는 메세지가 뜹니다.
>
> 또 /tmp/mysql.sock(저희 server mysql socket)을 강제로 지우고
> '#safe_mysqld &'이나 rebooting을 반복했으나 같은 내용으로 mysqld가 올
> 라오지 않습니다.
>
> #mysql 명령을 치면
> "ERROR 2002:Can't connect to local MySQL server through socket
> '/tmp/mysql.sock'(61)" 메세지가 나옵니다.
>
> 해결방법을 알려주셔요..
>
> 참고로 제 서버는 OS는 freeBSD이고 아파치와 연동합니다.
|