Homebrew를 통한 mysql 실행 불가 해결 방법 (The server quit without updating PID file)

YJ KIM·2025년 3월 19일
0

Mac에서 Homebrew🍻 로 mysql을 설치하고 사용하다가 .. 오랜만에 다시 사용하다보니 에러가 발생했다. 이를 해결한 과정을 기록하고자 한다. 보통 또 이런 일이 자주 일어나기에...


1. 재설치

unexpected method 'appcast' called on cask adoptopenjdk11.

먼저 버전 문제가 있어서 재설치해주었다. (workbench와 mysql 버전의 문제였다.) 이 과정에서도 homebrew에서 openjdk11 문제가 있었는데 쿨하게 삭제했다.

관련해서 참고하면 좋은 블로그 -> https://velog.io/@dmchoi224/mac-jdk-버전별-관리-adopopenjdk-Temurin

나는 zulu 있어서 이거 쓰면 되기에 그냥 삭제했다.

2. PID 파일 에러

The server quit without updating PID file (/opt/homebrew/var/mysql/xxx.local.pid)

해당 에러가 계속 발생했다. 이 에러는 현재 mysql이 돌아가는 프로세스의 권한으로는 pid 파일에 쓰기를 할 수 없다는 에러이다.

그래서

sudo chown -R $(whoami):admin /opt/homebrew/var/mysql

를 했는데 효과가 없었다. 대부분 여기서 해결이 많이 되는 듯한데,
나는 mysql을 사용해서 설치하고 있었고 저 파일을 열어보면 예전에 썼던 DB가 그대로 존재했다. 아마 여기서 문제가 발생했던 거 같다.

그래서 결국, 현재 mysql 파일을 삭제하고 -> mysql 삭제 -> mysql 재설치 의 과정을 거쳤다.

3. mysql 관련 파일 삭제

sudo rm -rf /opt/homebrew/var/mysql

/opt/homebrew/var/mysql가 물리적인 데이터를 저장하는 곳이기도 하기에 개발용 컴퓨터가 아닌 이상 막 삭제하면 안된다.

삭제한 후 mysql을 재설치하였다.

4. mysql 키기

error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

저런 에러가 발생했는데, 그냥 mysql 서버 안 켜서 그렇다. 안 켰으니 socket 연결이 안 되겠지.. brew services start mysql 명령어 이용해서 실행하자.

5. Access denied for user '나'@'localhost' (using password: NO)

위와 같은 에러가 발생했다. mysql에 권한 설정이 안되어서 그렇다. 현재 mysql을 터미널에서 실행하면 실행하는 주체는 내 컴퓨터 사용자이기 때문에 권한을 설정해주어야 한다.

mysql -u 나 -p 를 통해 mysql에 권한 설정을 하자 (쿼리로!)

CREATE USER '님'@'localhost' IDENTIFIED BY '비밀번호원하는대로';
GRANT ALL PRIVILEGES ON *.* TO '님'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

쿼리를 날려준다.

이러면 사용할 수 있었다!

결론

mysql에 문제가 생기면 삭제 후 다시 깔고 -> mysql 동작에 필요한 디렉토리 권한설정 -> mysql 서버 권한설정

이 전체적인 과정은 이 컴퓨터가 개발 컴퓨터이기 때문에 가능하다. 다음에 다시 한 번 이런 상황을 마주치지 않기를 바라며.. 🥺

profile
모르면 쓰지 말고 쓸 거면 알고 쓰자

0개의 댓글