본문 바로가기
경일/DATABASE

[mysql] root계정 비밀번호 잃어버렸을때 (M1, homebrew설치)

by dev_kong 2022. 2. 17.
728x90
728x90

기존의 설정이랑 수업을 들으면서 따라하던 설정이랑

충돌이 일어났었는지...

진짜 이거 때문에 고생고생 개고생을 했다...

 

혹시나 또 이런일이 생길까봐,

나처럼 고통받는 사람 있을 까봐 남김.

 

일단 해결책은 두가지다.

안전모드로 진입해서 비밀번호 인증없이 mysql로 접속하고,

비밀번호를 변경하는 것.

그리고.. 완전히 삭제했다가 지우는것...

1. 안전모드 진입

우선 mysql 서버를 중지 시켜야 한다.

$ brew services stop mysql

 

그리고 프로세스를 확인해보자

 

$ ps -ef | grep mysql

 

출력되는 내용이 1줄 보다 많다면 위에 두개를 지워 주면 된다.

 

대충 이런애가 출력 되는데, 0 옆의 숫자가 PID 넘버다 저걸 이용해서 지워주면 된다.

 

$ sudo kill -9 [PID넘버]

 

이러면 완전히 서버를 중지시켰다.

 

그럼 이제 파일 경로를 이동해보자.

M1 칩이 들어간 맥을 사용하고, homebrew를 이용해서 mysql 을 설치했다면

경로는

$ /opt/homebrew/Cellar/mysql/8.0.28/bin

여기다.

여기서 

$ ./mysqld_safe --skip -grant-tables&

입력하고,

 

$ mysql -uroot

하면 비밀번호 없이 mysql에 접속이 된다.

감개무량하다.

그리고 이상태에서 

root 계정의 비밀번호를 다시 설정해주면 된다.

>ALTER USER 'root'@'localhost' IDENTIFIED BY '[변경할 비밀번호]';

때려주면 된다.

 

근데 만약에 만약에 만약에 안전모드 진입자체가 안된다..

그러면.. 후우.

지웠다 다시까는게 정신건강에 이롭다.

 

2. mysql 완전삭제 후 다시 재설치

우선 기본적으로

$ brew uninstall mysql

해주고

$ /opt/homebrew/Cellar

여기 경로로 이동한뒤

 

$ sudo rm -rf mysql

그리고

$  /opt/homebrew/var

여기로 경로를 이동한뒤,

(참고로 이 디렉토리 안에는 내가만든 db가 들어있다.

만약에 삭제는 해야겠고 db날리기는 싫고 하면, 이 디렉토리 안에있는 db 파일을 백업하면 되지 않을까 싶다)

$ sudo rm -rf mysql

해주면 다 지워진거다.

 

그리고 

$ brew install mysql

해주면 됨

 

728x90
728x90

댓글