보통 이 문제가 발생하는 경우는 mysql 을 패키지(RPM)으로 설치하는 케이스입니다. 설치하고 실행하는데 문제가 없어보입니다. 하지만 재부팅이나 재시작시 mysql이 동작되지 않고 아래 에러 메세지를 토해냅니다.
Another MySQL daemon already running with the same unix socket.
그리고 mysql로 접속하면 이런 에러가 또 나옵니다.
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
이 문제는 간단히 해결 할 수 있습니다.
# rm -rf /var/lib/mysql/mysql.sock
하지만 이 방법은 임시 방편에 불과합니다. 삭제해도 다시 생겨나는 파일이기 때문입니다. 그럼 그때마다 지워줘야 할까요? 그건 아니라고 봅니다. 그럼 근본적인 원인을 찾아야겠죠.
제 경우는 이러했습니다. mysql을 root 계정을 이용해 RPM으로 설치했고 그 결과 mysql.sock파일의 소유권한이 없어 접근을 하지 못했던 것입니다. chmod와 chown을 이용해서 권한을 변경해주면 깔끔하게 해결됩니다.
# service mysqld stop # chmod 755 -R /var/lib/mysql # chown mysql:mysql -R /var/lib/mysql # service mysqld start
mysqld 데몬을 중지시킨뒤 권한과 소유를 mysql로 변경한 뒤 mysqld 데몬을 다시 시작하는 내용입니다.