Linux 내 MySql 실행 시 오류가 발생할 때

ik_13038·2022년 8월 9일
0

라이징캠프 1주차

목록 보기
6/7
post-thumbnail

Linux 내 MySql 실행 시 에러 발생


보통의 경우에는 위와 같이 start 시 잘 작동하는 모습을 확인할 수 있으나 오늘 갑자기 mysql을 켰을 때 에러가 발생하기 시작하였다.

# service mysql status

위를 통해 확인해보니 Active:failed와 함께 아래 이유로 PID 파일을 업데이트하지 않고 서버가 나가졌다는 오류를 뿜었다.

검색하니 여러가지 해결방법들이 나왔다.

1. 커맨드로 디렉토리 소유권과 파일 권한을 변경

첫 번째는 이 블로그 링크에서 확인한 방법이다.

# sudo chown -R mysql:mysql /usr/local/mysql

위 명령어를 통해 소유권을 갖을 수 있는 사용자는 admin이 아니라 mysql로 바꿔주는 방법이다.
허나 본인에게는 효과가 있지 않았다.

2. MySQL 데이터 디렉토리의 파일 권한 변경

# sudo chmod -R 777 /usr/local/mysql

데이터 디렉토리에 파일을 쓸 수 있는 권한을 부여해주는 것이다.
참고로 chmod와 chown의 차이는 여기에서 알 수 있다.

허나 2번까지 하여 mysql을 재시작해보았으나 소용이 없었다.

3.restart MySQL manually

출처는 이 곳으로 여기서 또한 다양한 해결 방식을 제공했다.

# /etc/init.d/mysql restart
# service mysql restart

안타깝지만 재시작으로 해결될 문제는 아니었다.

4. 이미 Running 중인 mysql 프로세스를 종료하고 다시 실행하기

# ps -aux | grep -i mysql 

or

# ps -ef | grep mysql

위에서 확인한 pid를 통해

# kill -9 PID

그 PID를 입력하여 프로세스를 종료시킨다.

이후 재실행해보았으나 이 문제 또한 아니었다.

5. mysql.sock file을 백업해두고 제거하기

# cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp

# rm -rf /var/lib/mysql.sock

본인에게는 해당 파일이 없었다. 혹시 몰라서 본인 폴더 경로에 있는 (/usr/local/mysql/mysql.sock)
mysql.sock에 조치를 취해보았으나 크게 효용이 없었다.

혹시나 위 사진과 같은 오류가 날 시에도 5번 조치를 취해볼 수 있도록 하자.

6. MySQL configuration file (/etc/my.cnf) 삭제하기

# mv /etc/my.cnf /etc/my.cnf.bak

해당 조치를 통해 mysql이 다시 작동되는 것을 확인했다. 알고보니 my.cnf 파일 내부에 오타가 존재했다.

어쨌건 다시 해결해서 mysql 내부에서 다양하게 테스트해보았고 이상 없다는 것을 확인했다.

중간에 reboot를 하고 mysql을 재시작해보니 친절하게 알려주더라..

profile
글 연습, 정보 수집

0개의 댓글