내 머릿속 데이터베이스

[MySQL] OSX에서 mysql.server stop로 종료가 안되는 현상 본문

Programming/Database

[MySQL] OSX에서 mysql.server stop로 종료가 안되는 현상

파도소리 2016. 4. 21. 10:56

설치 및 실행 과정도 이상하게 생각보다 힘들게 했는데, 종료까지 말썽이다.


인터넷에 검색하니 mysql.server stop 를 호출하면 된다던데.. 종료에 성공했다고 뜨나, 종료는 되어있지 않았다.

재 시도 하면 pid 파일을 updating 문제가 있다고 에러가 납니다.


먼저 pid 파일의 updating 문제는 pid 파일의 권한 설정 문제로 해결 했다.


경로는 /usr/local/var/mysql/

chmod 777 유저명.local.pid


걍 이렇게 777줘도 리스타트하면 pid가 재 생성되서 지가 알아서 맞는 권한으로 찾아가니 상관없다.





이젠 종료할 때 에러는 나지 않으나 (항상 성공), 하지만 실제 종료는 되지 않는다.


pkill 로 mysqld를 종료해봐야 mysqld_safe 놈이 감시하고 계속 실행한다. 

mysqld_safe 프로세스를 죽였으나 이놈도 계속 좀비같이 살아난다.



이럴 땐 osx의 homebrew를 체크 해 봐야한다. 


이 글을 참조 했는데 (https://robots.thoughtbot.com/starting-and-stopping-background-services-with-homebrew)


launchctl unload [plist경로]


를 하랜다. 경로는 ~/Library/LaunchAgents 또는 /Library/LaunchAgents 에 저장되어 있다.

따라서 뭐 이런식으로 하면 되는건데 


launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist


난 해당 경로에 파일이 없었다. 

찾아보니 /usr/local/opt/mysql/homebrew.mxcl.mysql.plist 가 있길래 요놈으로 unload 시켜줬더니 된다.


그 이후로는 필요할 때만 mysql.server start / stop 로 켜고 꺼고 할 수 있다.





더 나은 방법으론 brew services 를 설치해서 brew services list 때려서 mysql이 목록에 있다면 


brew services start mysql


호출하는게 더 간편하다.ㅜㅠㅜㅜㅠㅠㅠㅠㅠㅠ

Comments