[MySQL] Access denied for user ‘root’@’localhost’
Last updated
Last updated
MariaDB와 MySQL 둘 다 사용하여 link, unlink 하며 사용
MySQL 도 버전에 따라 5.7, 8 변경해가며 사용
갑자기 MySQL 서버에 접속할 때 접근 권한이 뜸
삭제 후 재설치 반복했지만 해결 안됨.
/opt/homebrew/var/mysql 삭제 후, brew postinstall 해주니 해결되었다.
brew info mysql
mysql_secure_installation
을 새로 해주고 root 비밀번호를 설정해준 후 실행하니 잘 접속됐다.
처음에는 계속 락 걸렸다고 로그에 나왔다. 근데 PID 다 죽여도 해결이 안됐다.
원인은 경로 문제인 걸로 추정된다.
m1이라서 후자를 삭제하고 postinstall 하니 해결되었다.
현재 실행중인 MySQL PID 모두 kill
명령어로 남아있는 mysql 서비스 확인하고 kill 명령으로 모두 죽임
남아있는 mysql 관련 디렉토리 모두 삭제
mysql 재설치 후 safe모드로 mysql 실행
mysql 접속 후 user password 변경
brew로 mysql설치 후 /usr/local/var/mysql/ 폴더가 생성되지 않아 발생한 문제라고 했다.
MySQL 비밀번호 재설정
비밀번호를 재설정 해주었지만, 계속해서 같은 에러 메세지가 떴다.
Ref
https://it-mesung.tistory.com/135
여기랑 두 번째 시도에서 힌트를 많이 얻었다.
이 부분을 실행하려고 해도, 아무리 뒤져도 /usr/local/mysql/ 경로가 없어서 혹시나 설치 경로 문제가 아닐까 생각했다.
그리고 그게 맞았다..
위 과정은 하루만에 진행됐지만, 실상 굉장히 오랫동안 원인을 찾지 못해 해결하고 있지 못한 에러였다.
MySQL 설정 경로문제였다.
별의별 짓은 다 한 것 같다. 지금 생각해보면 간단한데, 왜 그렇게 해결하기가 어려웠는지 모르겠다. 다음부터는 에러 메세지를 더 잘 읽고 원인 및 문제가 뭔지 지금보다 더 논리적으로 접근해야겠다. 이번에는 영어도 그렇고 감으로만 이렇겠다 저렇겠다 시도해보기만 하고, 원리를 꼼꼼히 따져보지 못한 것도 있는 것 같다.
문제 해결 과정도 잘 문서화 해놓아야겠다.