mysql을 잘 사용하다가 껐다켰더니 잘 안되요.
그래서 service 에서 mysqld을 다시 껐다 켰는데
mysqld dead but subsys locked 이런 내용이 나옵니다. 데몬이 동작을 안하는데 어떻게 해야될지 잘 모르겠습니다..
사용환경은 FC3입니다..
서버 형태의 어떤 프로그램은 어떤 빈(empty) 파일을 만들어 놓고, 이것의 존재여부를 가지고 현재 동일한 프로그램이 실행 중인지 아닌지 판단합니다. (물론 완전한 방법은 아닙니다만..) 또한 일단 실행이 되었다면, 실행된 프로세스의 id를 기록해 두기도 합니다.
프로그램 XX의 프로세스 id(pid) 파일은 대개
/var/run/XX.pid
꼴로 존재하며,
lock 파일은 대개
/var/lock/subsys/XX
로 존재합니다.
프로그램이 비정상적으로 죽었다면, 이러한 pid 파일과 lock 파일이 올바로 제거되지 않고 남아 있어서 다시 (보통 script로 되어 있는) 서버를 시작하기 곤란할 때가 있습니다.
이때는 ps와 같은 프로그램으로 프로세스가 죽었는지 확인하고, pid 파일 지우고, lock 파일 지우고 나면, 다시 시작할 수 있습니다. 주의할 것은, 만약 프로세스가 죽지 않았는데, pid, lock 파일을 지우게 되면 어떻게 동작할지 보장 못하므로, 먼저 프로세스가 죽은게 확실한 지 꼭 확인하기 바랍니다.
음. 일단 redhat 기반이라고 가정하고 말하겠습니다. (redhat이 아니더라도 거의 비슷합니다.)
먼저, /etc/init.d/mysqld를 열어서 보기 바랍니다.
그 파일을 훑어 보면, mysqld.pid 또는 mysql.lock이라는 파일이 중간 중간 나온것이 보일 겁니다. 파일 이름은 약간씩 달라 질 수 있으니 주의하기 바랍니다.
일단 파일 이름을 확실히 알았다면, root로 다음 두 명령을 실행해 보기 바랍니다.
소스로 컴파일해서 설치한 mysql의 경우 (뭐 다른 프로그램도 마찬가지), configure를 실행할 때 옵션을 적절하게 주지 않으면, .pid와 .lock 파일이 다른 디렉토리에 저장됩니다. /usr/local/var/ 라든가 등등.. 그래서 원래 시스템 설치할 때 깔린 mysql과는 다른 위치에 보관하는 경우 (위와 같은 방법으로) 처리하기가 좀 힘듭니다.
마지막으로.. 이건 제 개인적인 생각입니다만, signature가 별로 보기 좋지 않습니다. 실제 여자분인지 남자분인지는 모르겠지만, 여자라서 힘들다.... 란 말은, 여자를 비하하는 것 같아서 좀 그렇군요..
서버 형태의 어떤 프로그램은 어떤 빈(empty) 파일을 만들어 놓고,
서버 형태의 어떤 프로그램은 어떤 빈(empty) 파일을 만들어 놓고, 이것의 존재여부를 가지고 현재 동일한 프로그램이 실행 중인지 아닌지 판단합니다. (물론 완전한 방법은 아닙니다만..) 또한 일단 실행이 되었다면, 실행된 프로세스의 id를 기록해 두기도 합니다.
프로그램 XX의 프로세스 id(pid) 파일은 대개
/var/run/XX.pid
꼴로 존재하며,
lock 파일은 대개
/var/lock/subsys/XX
로 존재합니다.
프로그램이 비정상적으로 죽었다면, 이러한 pid 파일과 lock 파일이 올바로 제거되지 않고 남아 있어서 다시 (보통 script로 되어 있는) 서버를 시작하기 곤란할 때가 있습니다.
이때는 ps와 같은 프로그램으로 프로세스가 죽었는지 확인하고, pid 파일 지우고, lock 파일 지우고 나면, 다시 시작할 수 있습니다. 주의할 것은, 만약 프로세스가 죽지 않았는데, pid, lock 파일을 지우게 되면 어떻게 동작할지 보장 못하므로, 먼저 프로세스가 죽은게 확실한 지 꼭 확인하기 바랍니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
서명이.. 참.. ... .... 묘한 느낌을 주는군요.. :shock:
서명이.. 참.. ... .... 묘한 느낌을 주는군요.. :shock:
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
감사합니다..
답변 고맙습니다....
기존에 웹디자인 공부하다가 학교 들어와서 임베디드를 공부하고 있지만
주위에 다 남자들만 득실득실되서.. 도움받기가 그래서요.. 그러다가 선배
오빠가 이 사이트를 추천해줘서 들어오게 됐습니다. 앞으로 잘부탁드립니다
:oops:
여자라서 힘들어요 많이도와주세요 ㅜ.ㅜ
[b]cinsk[/b]님이 말씀해주신대로 했습니다.우선 ps -e
cinsk
님이 말씀해주신대로 했습니다.
우선 ps -ef | grep mysql 로 프로세스가 실행중인지 확인하고 실행이 되지 않은것을 확인했습니다.
그리고나서
이 디렉토리 가서 mysql 관련된것을 찾았지만 mysqld 디렉토리는 있지만
mysqld.pid파일은 없었습니다.
그다음에
이곳에 가서 mysqld 을 삭제했습니다. 그런다음 다시 mysqld 을 시작해봤지만 같은 메세지가 나옵니다. ㅜ.ㅜ 다시 설치해야되는건가요??
여자라서 힘들어요 많이도와주세요 ㅜ.ㅜ
http://www.wowlinux.com/knowledge/faqvie
http://www.wowlinux.com/knowledge/faqview.html?db=faq&id=118&view=1
위 게시물에도 비슷한 경험이 있는듯 하군요.
일단 safe_mysqld으로 실행을 시켜놓고 시스템을 리부팅시켜보세요.
------------------------------
좋은 하루 되세요.
고맙습니다.
답변 고맙습니다..
말씀해주신 링크사이트에 가서 확인하고 나서
safe_mysqld -uroot로도 해보고 다 해보았지만 여전히 되질 않습니다..
/etc/init.d/mysqld을 하면은
이런 메시지가 출력이 됩니다..
혹시나 해서 방화벽도 꺼보고 해봤지만 안되네요... :cry:
여자라서 힘들어요 많이도와주세요 ㅜ.ㅜ
음. 일단 redhat 기반이라고 가정하고 말하겠습니다. (redhat이
음. 일단 redhat 기반이라고 가정하고 말하겠습니다. (redhat이 아니더라도 거의 비슷합니다.)
먼저, /etc/init.d/mysqld를 열어서 보기 바랍니다.
그 파일을 훑어 보면, mysqld.pid 또는 mysql.lock이라는 파일이 중간 중간 나온것이 보일 겁니다. 파일 이름은 약간씩 달라 질 수 있으니 주의하기 바랍니다.
일단 파일 이름을 확실히 알았다면, root로 다음 두 명령을 실행해 보기 바랍니다.
출력되는 directory 이름은 달라 질 수 있습니다. 만약 아무런 파일 목록도 나오지 않는다면, 아래 명령을 수행하고 다시 해 보기 바랍니다. 출력된 파일 목록 중 의심이 가는 것을 지우면 됩니다.
# updatedb
만약 slocate나 updatedb가 없다고 나오면, 아래 두 명령을 수행하기 바랍니다.
# find / -name 'mysqld.pid'
# find / -name 'mysql.lock'
그리고 출력되는 파일들을 보고 의심이 가는 파일들을 지우기 바랍니다.
그리고 다시 실행하면 됩니다.
소스로 컴파일해서 설치한 mysql의 경우 (뭐 다른 프로그램도 마찬가지), configure를 실행할 때 옵션을 적절하게 주지 않으면, .pid와 .lock 파일이 다른 디렉토리에 저장됩니다. /usr/local/var/ 라든가 등등.. 그래서 원래 시스템 설치할 때 깔린 mysql과는 다른 위치에 보관하는 경우 (위와 같은 방법으로) 처리하기가 좀 힘듭니다.
마지막으로.. 이건 제 개인적인 생각입니다만, signature가 별로 보기 좋지 않습니다. 실제 여자분인지 남자분인지는 모르겠지만, 여자라서 힘들다.... 란 말은, 여자를 비하하는 것 같아서 좀 그렇군요..
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기