보통의 경우에는 위와 같이 start 시 잘 작동하는 모습을 확인할 수 있으나 오늘 갑자기 mysql을 켰을 때 에러가 발생하기 시작하였다.
# service mysql status
위를 통해 확인해보니 Active:failed와 함께 아래 이유로 PID 파일을 업데이트하지 않고 서버가 나가졌다는 오류를 뿜었다.
검색하니 여러가지 해결방법들이 나왔다.
첫 번째는 이 블로그 링크에서 확인한 방법이다.
# sudo chown -R mysql:mysql /usr/local/mysql
위 명령어를 통해 소유권을 갖을 수 있는 사용자는 admin이 아니라 mysql로 바꿔주는 방법이다.
허나 본인에게는 효과가 있지 않았다.
# sudo chmod -R 777 /usr/local/mysql
데이터 디렉토리에 파일을 쓸 수 있는 권한을 부여해주는 것이다.
참고로 chmod와 chown의 차이는 여기에서 알 수 있다.
허나 2번까지 하여 mysql을 재시작해보았으나 소용이 없었다.
출처는 이 곳으로 여기서 또한 다양한 해결 방식을 제공했다.
# /etc/init.d/mysql restart
# service mysql restart
안타깝지만 재시작으로 해결될 문제는 아니었다.
# ps -aux | grep -i mysql
or
# ps -ef | grep mysql
위에서 확인한 pid를 통해
# kill -9 PID
그 PID를 입력하여 프로세스를 종료시킨다.
이후 재실행해보았으나 이 문제 또한 아니었다.
# cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp
# rm -rf /var/lib/mysql.sock
본인에게는 해당 파일이 없었다. 혹시 몰라서 본인 폴더 경로에 있는 (/usr/local/mysql/mysql.sock)
mysql.sock에 조치를 취해보았으나 크게 효용이 없었다.
혹시나 위 사진과 같은 오류가 날 시에도 5번 조치를 취해볼 수 있도록 하자.
# mv /etc/my.cnf /etc/my.cnf.bak
해당 조치를 통해 mysql이 다시 작동되는 것을 확인했다. 알고보니 my.cnf 파일 내부에 오타가 존재했다.
어쨌건 다시 해결해서 mysql 내부에서 다양하게 테스트해보았고 이상 없다는 것을 확인했다.
중간에 reboot를 하고 mysql을 재시작해보니 친절하게 알려주더라..