태그: mysqld

[Ubuntu] service mysql status 입력시 Loaded 가 /dev/null 을 가리킬 때

개요

2017년 04월 03일 3시 26분 쯤 부터 블로그 접속시 “데이터베이스 연결 중 에러” 라는 메시지가 반겼다.

 

그 때, 나는 python3 관련해서 종속성 관련해서 해결 하느라고 sudo apt-get autoremove 를 했는데, 하필이면 mysql-server-core-5.7 까지 함께 날라간 것이였다.

 

이것은 급하게 deb 파일로 dpkg -i 인스톨을 통해 복구를 했지만, DB 연결 오류는 해결이 되지 않았다.

 

따라서 이것을 해결했던 방법을 공유해보자 한다.

 

/dev/null 가리키는 현상 복원하기

현재 상태

이미지 1.png

위 이미지와 같이 sudo systemctl status mysql (혹은 sudo service mysql status)를 입력하니 아래와 같이 표시되었다.

 

mysql.service 가 말 그대로 /dev/null 을 가리키기 때문에 문제가 있다는것을 알려주는 메시지 이다.

 

이미지 2.png

따라서 나는 cd /etc/systemd/system 를 입력해, system 폴더로 들어가서 ls -la 를 입력해보니 실제로 mysql.service 가 Symbolic Link 로 /dev/null 을 가리키고 있다는것을 알아냈다.

 

해결법

너무나도 간단했다. 저것의 원인은 Windows 로 설명을 하면 실행을 위한 원래의 파일은 없고, 바로가기 (lnk)파일만 존재해서 발생하는 현상이다.

 

이미지 3.png

sudo systemctl unmask mysql 를 입력해서 mysql 에 대한 심볼릭 링크를 제거한다.

이미지 4.png

제거 하고, sudo service mysql start 를 해보니 에러 메시지 없이 정상적으로 잘 실행이 되었다.

끝으로

서버를 여는 사람 입장에서 이런 문제가 발생하면 많은 골칫거리가 생기게 된다.

 

구글링을 통해 찾아내는것이 가장 최선이라고 판단을 한다.

 

또한, 서버를 열면서 아직 부족하다고 느낀점이 많았기에, 더욱 더 열심히 리눅스를 배워야 겠다고 생각한다.

 

그리고, 항상 백업을 생활화 하는것이 무엇보다 중요하다고 본다. 적용과 원복은 뗄 수 없는 관계이며, 백업은 필수다.

 

나와 비슷한 /dev/null symbolic link 문제로 고통받는 사람이 없길…