묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
apm 재설치 시 문의
2003.07.19 00:42
리눅스 레드헷 7.X 버전이구요.
아래의 자료에 apm 설치 관련 자료를 이용해서 설치했습니다.
http://www.nzeo.com/bbs/zboard.php?id=p_server&page=2&sn1=&divpage=1&category=10&sn=off&ss=on&sc=off&select_arrange=headnum&desc=asc&no=165
a : apache 1.23.27
p : php 4.3.2
m : mysql 3.23.57
입니다.
그 이전에 설치 된 내용을 지웠다고 생각했는데요. 지금 다시 깔아 보니...
다음과 같은 문제가 발생을 하네요.
echo "1. 초기화"
echo "killall mysqld"
echo "//데몬을 모조리 죽이는 명령어 입니다. 끔직하군..;;"
echo "cd /usr/local/mysql"
echo "//mysql 이 설치된 디렉토리로 이동합니다."
echo "./bin/safe_mysqld --skip-grant &"
echo "//여기 까지 초기화가 끝났습니다."
이걸 수행 한 후에...
echo "2. 새 암호 넣기"
echo "./bin/mysql"
echo "//mysql을 실행합니다."
이걸 실행 하면 다음과 같은 에러가 뜹니다.
error 2002 : can'+ '+ 't connect to local mysql server through socket '/tmp/mysql.socket'(2) 라는 에러메세지가 뜹니다.
원인이 무엇인지 잘 모르겠네요. 이전에 설치된 내용을 제가 제대로 지우지 못했다면 어떻게 확인이 가능한지 궁금하구요,
rpm으로 설치 하지 않은 건 어떻게 제거 하는지도 궁금하네요. 사실, 이전에 깔린 내용을 제대로 지우지 못한 문제인지 아님 어떤 문제인지 ? 우선 위의 에러메세지 자체도 좀 궁금하구요.
부탁드립니다. 이 코드를 작성한 분에게 직접 물어 봐도 오래된 내용이라 기억이 없다고 그래서요.
누구든 부탁을 드리겠습니다. ^^ 그럼,
아래의 자료에 apm 설치 관련 자료를 이용해서 설치했습니다.
http://www.nzeo.com/bbs/zboard.php?id=p_server&page=2&sn1=&divpage=1&category=10&sn=off&ss=on&sc=off&select_arrange=headnum&desc=asc&no=165
a : apache 1.23.27
p : php 4.3.2
m : mysql 3.23.57
입니다.
그 이전에 설치 된 내용을 지웠다고 생각했는데요. 지금 다시 깔아 보니...
다음과 같은 문제가 발생을 하네요.
echo "1. 초기화"
echo "killall mysqld"
echo "//데몬을 모조리 죽이는 명령어 입니다. 끔직하군..;;"
echo "cd /usr/local/mysql"
echo "//mysql 이 설치된 디렉토리로 이동합니다."
echo "./bin/safe_mysqld --skip-grant &"
echo "//여기 까지 초기화가 끝났습니다."
이걸 수행 한 후에...
echo "2. 새 암호 넣기"
echo "./bin/mysql"
echo "//mysql을 실행합니다."
이걸 실행 하면 다음과 같은 에러가 뜹니다.
error 2002 : can'+ '+ 't connect to local mysql server through socket '/tmp/mysql.socket'(2) 라는 에러메세지가 뜹니다.
원인이 무엇인지 잘 모르겠네요. 이전에 설치된 내용을 제가 제대로 지우지 못했다면 어떻게 확인이 가능한지 궁금하구요,
rpm으로 설치 하지 않은 건 어떻게 제거 하는지도 궁금하네요. 사실, 이전에 깔린 내용을 제대로 지우지 못한 문제인지 아님 어떤 문제인지 ? 우선 위의 에러메세지 자체도 좀 궁금하구요.
부탁드립니다. 이 코드를 작성한 분에게 직접 물어 봐도 오래된 내용이라 기억이 없다고 그래서요.
누구든 부탁을 드리겠습니다. ^^ 그럼,
댓글 6
-
이창주
2003.07.19 00:42
커널 버전은 2.4.7 입니다. -
king
2003.07.19 14:43
아마도...mysql 데몬이 실행될때 권한 문제로 소켓을 생성하지 못하는 것일것입니다.. -
이창주
2003.07.21 21:13
권한 문제라..음....이전에 mysql 홈페이지에서 위의 에러 메세지에 대한 내용이 나와 있는 걸 보았는데요. 잘 모르겠던데요. -
이창주
2003.07.24 02:13
권한 문제를 해결 할 수 있는 방법에 대해서 좀 누가 좀 알려 주세요... -
이창주
2003.07.24 02:20
[에러 내용]
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
<b>[문제의 원인]</b>
실제로 mysqld 에 의한 socket 파일은 /tmp/mysql.sock 에 존재하는데 PHP 나 mysql 과 같은 프로그램들은 그 파일을 /var/lib/mysql/mysql.sock 에서 찾는다. 그러니 당연히 mysqld 와 의사소통이 될리가 없고, 접속이 안된다고 에러가 납니다.
<b>[해결방법]</b>
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");
이 방법은 클라이언트 측에서 서버측의 소켓파일의 위치를 명시해 주는 방법입니다. (얼마나 이런 문제가 많았으면 저런 방법까지 생겼을꼬....)
대부분의 경우 위 3가지 방법으로 다 해결이 됩니다.
그럼 오늘도 즐거운 하루 보내시길... -
이창주
2003.07.24 02:21
위에거는 linuxtoday.co.kr 의 팁엔테크에서 허락없이 막 퍼왔습니다. 쏘리..