Q ./mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the
socket: '/var/lib/mysql/mysql.sock' exists!

mysql접속시도를 하거나 아니면 서버를 실행하려고 mysql.server start 를
실행하면 이런메세지가 뜨면서 실행이 되질 않습니다
왜그런것져?

A.
에러는 /var/lib/mysql/mysql.sock 이 이미 있다는 얘기입니다. 그래서
mysql 이 현재 구동중인 것이 아닌가 확인해 보라는 내용이네요.

mysql process 가 있는지 확인해 보시고, 있으면 kill 로 죽이시고, mysql.sock
을 지우신 후에 재 시작 해 보십시오.
2005/07/05 14:34 2005/07/05 14:34

mysql 설치시 오류.

MySQL 2005/07/04 14:42
#configure
#make
make[2]: *** [mysql] 오류 1
make[2]: 나감 `/data/php/mysql-3.23.35/client' 디렉토리
make[1]: *** [all-recursive] 오류 1
make[1]: 나감 `/data/php/mysql-3.23.35' 디렉토리
make: *** [all-recursive-am] 오류 2
오류

위와 같은 오류가 날 때에는 gcc -v로 gcc 버젼을 확인
하신 후 버젼이 낮을 경우 최신의 버젼으로 받아서 설치 후
컴파일 하시면 위와 같은 오류는 나오지 않을 것입니다.
2005/07/04 14:42 2005/07/04 14:42
아래 내용은 mysql설치 후 소켓에러가 발생했을 시 해결하는 방법입니다.

[에러 내용]
Warning: Can't connect to local MySQL server through socket '/home/mysql/mysql.sock'
(111) in /home/dspaper/public_html/board/index.html on line 15

[문제의 원인]
실제로 mysqld 에 의한 socket 파일은 /tmp/mysql.sock 에 존재하는데 PHP 나 mysql 과 같은
프로그램들은 그 파일을 /var/lib/mysql/mysql.sock 에서 찾습니다. 그러니 당연히 mysqld 와
의사소통이 될리가 없고, 접속이 안된다고 에러가 납니다.

[해결방법]
1. ln -sf /tmp/mysql.sock /var/lib/mysql/mysql.sock
이 해결법은 가장 간단하게 할 수 있지만 문제점은 리부팅 되고 나면 그때마다 다시 이
soft link 를 걸어 줘야 합니다. 왜냐하면 이 파일은 일반적인 파일이 아닌 unix socket
파일이기 때문입니다.

2. msyqld 기동시에 --socket=/var/lib/mysql/mysql.sock 라는 옵션을 추가
이 방법은 강제적으로 소켓 파일을 원하는 디렉토리에 만들도록 해 줍니다. 그러므로 mysqld의
소켓파일이 저 디렉토리에 생성만 된다면 문제는 해결이 되겠지요.

3. PHP 연동시 client 측에서 socket 파일의 위치를 지정해 주는 방법
$conn = mysql_connect("localhost:/tmp/mysql.sock","db_user","db_passwd");
이 방법은 클라이언트 측에서 서버측의 소켓파일의 위치를 명시해 주는 방법입니다.
2005/07/04 12:29 2005/07/04 12:29