Mac에서 Homebrew🍻 로 mysql을 설치하고 사용하다가 .. 오랜만에 다시 사용하다보니 에러가 발생했다. 이를 해결한 과정을 기록하고자 한다. 보통 또 이런 일이 자주 일어나기에...
unexpected method 'appcast' called on cask adoptopenjdk11.
먼저 버전 문제가 있어서 재설치해주었다. (workbench와 mysql 버전의 문제였다.) 이 과정에서도 homebrew에서 openjdk11 문제가 있었는데 쿨하게 삭제했다.
관련해서 참고하면 좋은 블로그 -> https://velog.io/@dmchoi224/mac-jdk-버전별-관리-adopopenjdk-Temurin
나는 zulu 있어서 이거 쓰면 되기에 그냥 삭제했다.
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 재설치 의 과정을 거쳤다.
sudo rm -rf /opt/homebrew/var/mysql
/opt/homebrew/var/mysql
가 물리적인 데이터를 저장하는 곳이기도 하기에 개발용 컴퓨터가 아닌 이상 막 삭제하면 안된다.
삭제한 후 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
명령어 이용해서 실행하자.
위와 같은 에러가 발생했다. 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 서버 권한설정
이 전체적인 과정은 이 컴퓨터가 개발 컴퓨터이기 때문에 가능하다. 다음에 다시 한 번 이런 상황을 마주치지 않기를 바라며.. 🥺