바위 뚫는중

MySQL error 2002/ ERROR! The server quit without updating PID file (/opt/homebrew/var/mysql/ran-2.local.pid) 본문

SQL

MySQL error 2002/ ERROR! The server quit without updating PID file (/opt/homebrew/var/mysql/ran-2.local.pid)

devran 2022. 11. 11. 14:37
반응형

🖥 내 개발환경

  • m1 macbook
  • homebrew 설치되어있음
  • brew로 mysql 설치완료

정말 이거땜에 2주는 고생한듯.

아 지금도 컴퓨터 재부팅하기가 무섭다. 재부팅 하면 다시,, 문제가 생길 것 같아서.

당장 DB설계랑, CRUD를 로컬에서 해결해야 했는데, 이 에러때문에 암담했다. 진도를 못나갔다.

homebrew로 수천번을 삭제하고 재설치하고를 반복했다.

구글링하면 나오는 모든 삭제를 반복하고 또 반복, 컴퓨터도 재부팅을 엄청나게 많이함.

 

이 과정을 겪어본 사람은 이 고통을 알지도 모르겠다. 보통 두가지 경우.

  1. 서버가 실행되면, 2002 에러가 뜸. 이게 시초였다. (관련해서 모든거 다 찾아봤는데 나랑 안맞았음. 비번도 설정안된 mysql 이었는데, 비번이 생각날리가 없다. mysql -u root로 실행이 되어야했음)
  2. 서버가 애초에 정상적으로 실행이 안됨. (PID file 에러가 계속남.)

30번 정도 겪었는데, 사람이 피폐해지면서 기록도 하고싶지 않았다. 컴퓨터를 바꾸고 싶었다.

원래 엄청 잘됐었고, 시스템환경설정에도 mysql이 등록되어있어서 (아마 dmg로 예전에 설치했던 모양임),

로컬에서 프젝할때도 써먹었는데, 갑자기 어느날 2002에러가 나기 시작하더니 모든게 꼬여버렸다.

그뒤로 삭제하고 재설치를 무수히 반복하다보니, 삶이 힘들어졌다.

🧨 에러해결방법

sudo로 안해서 permission denied가 떴겠지만,

문제는 저 에러다 ㅋㅋ 이제 지겨워서 보기만해도 힘들다. 재부팅하기 두려워요.

err 파일을 통해 에러 잡아내기

포트 3306이 사용중인 것 같다, 다른 mysqld가 있는 것 아니냐? 라는 error가 제일 많았다.

여러번 포트를 그랩 해내고, 킬 했지만 해결이 안돼서 자포자기 했었지만, 마지막으로 시도해봄.

그리고 err파일이 갱신속도가 진짜 빨라서 rm-rf로 error파일을 먼저 지워주고, server start 한 뒤에 확인해보면 딱 그 타임의 에러들만 떠서 나는 그냥 그렇게 봤다.

mysql을 사용중인 포트 잡아내기

kill -9 PID로 일단 죽여줬다.

/usr/local/var/mysql의 소유권 확인

나는 homebrew 내부의 경로로 이동 /opt/homebrew/var/mysql 임

놀랍게도 모든 권한이 _mysql임

root로 되어있다면 바꾸면 됨!! 권한을 mysql로 바꾸세요.

근데 포트 죽이고, 소유권 확인하다 갑자기 다시 시도해보니 됨.

눈물이 차올라서 고갤들어,,

이게 무슨일이야 대체,, 나 정말 이해안돼 왜이래,,?

다시 확인해도 잘된다.

정말 다행인것은 워크벤치에서 로컬호스트:3306으로 접속해도 아주 잘된다는 것 ㅜㅜ

얼마전 설계해둔 DB가 모두 날아갔지만,, 다시하자,,!!

울지마,,

내가 생각했을 때 최고의 mysql 에러해결방법

인터넷 보면 이걸로 몇날몇일 고생하는 사람이 한 트럭인듯 하다.

같은 내용의 블로그들을 100개 정도 방문하면서 느낀점들이다.

  • 완전 삭제와 재설치를 추천. (homebrew와 local의 mysql 모두 다 잡아내서 삭제하기. 그동안 내가 뭘 설치했을지 나도 모르는 노릇이다. 그냥 다 삭제!!) 뿌리까지 다 삭제. 구글링해서 삭제하기.

→ M1 이자 맥북은 특히나 주의해야할게, 홈브루로 설치를 할건지 온라인에서 dmg 파일을 설치할건지 딱 노선을 정해야 한다. homebrew가 편하지만 은근 오류가 많고, 다른방법으로 설치할 때와 디렉토리 자체가 완전히 달라지기 때문에, 주의해야한다. 내가 지금 어떤 mysql을 쓸려는지 확실히 알기. 디렉토리 마스터가 될 판. 나중에는 경로를 모두 외우는 지경에 이르렀음.

  • 설치 후, mysql 폴더의 권한을 mysql or USERNAME으로 반드시 두기.
  • sudo로 모든 과정을 진행. 보안이고 나발이고 애초에 권한문제가 없어야한다.
  • 터미널과 컴퓨터를 재부팅하기. 삭제하고 설치할때 중간중간 재부팅을 꼭 해주기.
  • 제일 중요한거 error log 확인하기. 사실 port의 경우 하라는 대로 해도 잘 안돼서 약간 혼이 나갔으나, 결국엔 되더라;;
  • 마지막으로 워크벤치에서 정상 접속이 되는지 반드시 확인할 것.
  • 다음번에 또 에러가 나면 1주일 넘게 걸리겠지, 지독하다.

간단 명령어들

#mysql 실행
brew services start mysql
mysql.server start
#mysql 재시작
brew services  restart mysql
#mysql 종료
brew services stop mysql
mysql.server stop
반응형