노빠꾸 데이터베이스/MySql

[MySQL] MySQL ROOT 비밀번호 분실시 초기화 방법

No Backing 2022. 9. 21. 22:48
반응형

이번 피드에서는 MySQL사용시 root 비밀번호를 분실하였을 경우 초기화하는 피드를 정리해보겠습니다.

 

DB를 사용하다 보면, 종종 root비밀번호를 분실할 경우가 생기게 되는데, MySQL을 사용할 경우의 초기화 방법이다.

 

1. MySQL 중지

$ mysql.server stop

root 비밀번호를 초기화하기 위해, 우선 MySQL서버를 중지시켜야 한다.

 

위의 명령어를 통해 중지시켜준다.

 

 

2. MySQL 서버 인증없이 접근 할 수 있도록 설정

$ mysql.server start --skip-grant-tables

MySQL 서버를 시작할때, --skip-grant-tables 옵션을 주게되면 MySQL 접속시, 인증없이 서버접근이 가능해진다.

 

 

3. root 계정으로 접속해보기

 

$ mysql -u root

2번에서 별도의 인증없이 서버에 접근할 수 있도록 옵션설정을 해두었으므로, 위의 명령어를 이용하여 MySQL서버에 접근해본다.

 

 

4. root 초기화

mysql> update mysql.user set authentication_string=null where user='root';
mysql> flush privileges;

 

정상적으로 서버에 접근이 됬으므로, root계정의 비밀번호를 초기화해준다.

 

MySQL서버를 시작할때, --skip-grant-tables 옵션을 주고 시작하였기때문에, root비밀번호를 바로 바꾸지는 못한다.

 

그렇기 때문에 일단 null로 초기화해준다.

 

초기화를 완료해주고 flush privileges 명령어를 통해 변경사항을 적용해준다.

 

 

5. MySQL 서버 재시작 후 root계정으로 접근하기

$ mysql.server restart
$ mysql -u root

위의 명령어를 통해 MySQL서버를 재시작하고, root계정으로 접근해본다.

 

비밀번호를 초기화 했기때문에, root로 접근이 가능하다.

 

 

6. 비밀번호 변경하기

mysql> alter user 'root'@'localhost' identified with caching_sha2_password by '변경할 패스워드';

위의 명령어를 통해 비밀번호를 변경해준다.

 

위의 과정을 정상적으로 마쳤으면, root 패스워드를 초기화하고 변경이 완료되어 정상적으로 사용이 가능하다.

 

$ mysql -u root -p

위의 명령어를 통해 변경한 비밀번호가 적용이 잘 되었는지 확인해본다.

 

이번 피드에서는 MySQL root계정 패스워드를 분실하였을 경우, 초기화 및 변경하는 피드를 정리해보았습니다.

 

이번 피드는 여기에서 마무리하겠습니다.

반응형
댓글수0