[MySQL] Access denied for user ‘root’@’localhost’

배경 :

  • MariaDB와 MySQL 둘 다 사용하여 link, unlink 하며 사용

  • MySQL 도 버전에 따라 5.7, 8 변경해가며 사용

  • 갑자기 MySQL 서버에 접속할 때 접근 권한이 뜸

  • 삭제 후 재설치 반복했지만 해결 안됨.

에러 메시지 :

The designated data directory /opt/homebrew/var/mysql/ is unusable. 
You can remove all files that that the server added to it.

해결 :

/opt/homebrew/var/mysql 삭제 후, brew postinstall 해주니 해결되었다.

  • brew info mysql

원인 :

  • 처음에는 계속 락 걸렸다고 로그에 나왔다. 근데 PID 다 죽여도 해결이 안됐다.

  • 원인은 경로 문제인 걸로 추정된다.

    m1이라서 후자를 삭제하고 postinstall 하니 해결되었다.

시도했던 방법 :

1️⃣ 첫 번째 시도

현재 실행중인 MySQL PID 모두 kill

2️⃣ 두 번째 시도

3️⃣ 세 번째 시도

MySQL 비밀번호 재설정

0️⃣ 옛날에 했던 시도 1

회고 :

  • 위 과정은 하루만에 진행됐지만, 실상 굉장히 오랫동안 원인을 찾지 못해 해결하고 있지 못한 에러였다.

  • MySQL 설정 경로문제였다.

  • 별의별 짓은 다 한 것 같다. 지금 생각해보면 간단한데, 왜 그렇게 해결하기가 어려웠는지 모르겠다. 다음부터는 에러 메세지를 더 잘 읽고 원인 및 문제가 뭔지 지금보다 더 논리적으로 접근해야겠다. 이번에는 영어도 그렇고 감으로만 이렇겠다 저렇겠다 시도해보기만 하고, 원리를 꼼꼼히 따져보지 못한 것도 있는 것 같다.

  • 문제 해결 과정도 잘 문서화 해놓아야겠다.

Last updated