[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 가리키는 현상 복원하기

현재 상태

[pe2-image src=”https://lh3.googleusercontent.com/-6JgSG87Wy5s/WOIKLOGk8CI/AAAAAAAAFp8/vIE_kJ_KKnske8ogBH9SNsUnSPKNWXaZACHM/s144-c-o/%25EC%259D%25B4%25EB%25AF%25B8%25EC%25A7%2580%2B1.png” href=”https://picasaweb.google.com/108868947737276920881/6298550190759059361#6404692807954788386″ caption=”sudo service mysql status” type=”image” alt=”이미지 1.png” ]

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

 

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

 

[pe2-image src=”https://lh3.googleusercontent.com/-YcQX_5QnyAY/WOIKLCIm7ZI/AAAAAAAAFp8/V_YEGA0dsvk4-CMLACJUMk68WStMMAuNACHM/s144-c-o/%25EC%259D%25B4%25EB%25AF%25B8%25EC%25A7%2580%2B2.png” href=”https://picasaweb.google.com/108868947737276920881/6298550190759059361#6404692804742081938″ caption=”mysql.service -> /dev/null” type=”image” alt=”이미지 2.png” ]

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

 

해결법

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

 

[pe2-image src=”https://lh3.googleusercontent.com/-JmoF_HXgmDQ/WOIKLOb17FI/AAAAAAAAFp8/q2IPtvWa1rYM7glcJ9G_V9LdLZg15wPMgCHM/s144-c-o/%25EC%259D%25B4%25EB%25AF%25B8%25EC%25A7%2580%2B3.png” href=”https://picasaweb.google.com/108868947737276920881/6298550190759059361#6404692808043981906″ caption=”sudo systemctl unmask mysql” type=”image” alt=”이미지 3.png” ]

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

[pe2-image src=”https://lh3.googleusercontent.com/-1ko-m9–uDQ/WOIKLOqCCzI/AAAAAAAAFp8/7UHJf_vy_yYF9aPgN-3wMRlHLxLqqxirACHM/s144-c-o/%25EC%259D%25B4%25EB%25AF%25B8%25EC%25A7%2580%2B4.png” href=”https://picasaweb.google.com/108868947737276920881/6298550190759059361#6404692808103496498″ caption=”sudo service mysql start” type=”image” alt=”이미지 4.png” ]

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

끝으로

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

 

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

 

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

 

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

 

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