MariaDB root 패스워드 분실 시 대처

김유상·2022년 12월 22일
0

1. mysql 서비스 종료

cmd에서 services.msc 를 입력해서 서비스 창을 실행시킨다.
그리고 mysql 또는 mariadb 서비스를 찾아서 중지시킨다. 서비스를 다시 시작해야 되기 때문에 서비스 창은 종료하지 않도록 하자.

2. mysql 실행 권한 스킵

CMD에서 MySql 혹은 MariaDB의 경로의 bin 경로로 이동한다.

mysqld -uroot --skip-grant-tables 
OR
mysqld --skip-grant

권한을 스킵하고 실행하는 커맨드를 입력한다.
해당 커맨드를 입력하면 창이 멈추기 때문에 또 다른 CMD 창을 실행시켜 준다.

3. mysql 실행 및 비밀번호 변경

mysql -uroot mysql
OR
mariadb -uroot

중지했던 서비스를 다시 시작해주고 새로운 CMD 창에 위 커맨드로 DBMS를 실행해준다.

---- MariaDB 10.4 미만일 경우

use mysql; 
Flush Privileges; # 앞의 --skip -grant 끄기 위함
UPDATE user SET password=PASSWORD('[변경할 PassWord]') where user='root'; 
Flush Privileges; # 비밀번호 적용 위함
quit(or Ctrl+C)



---- MariaDB 10.4 이상일 경우

use mysql; 
Flush Privileges; # 앞의 --skip -grant 끄기 위함
set password for 'root'@'localhost'=password('[변경할 PassWord]');
Flush Privileges; # 비밀번호 적용 위함
quit(or Ctrl+C)

flush privileges를 까먹지 말고 꼭 입력해주도록 하자.

Flush Privileges란?

환경 설정을 변경할경우, MariaDB(MySQL)의 재시작 없이 변경한 설정부분을 적용시키고자 할 때 사용

4. mysql 실행하기

아래 커맨드를 통해 변경한 비밀번호가 정상적으로 동작하는 지 확인한다.

mysql -u root -p

Referenced: https://jemmaa.tistory.com/26, https://yeolceo.tistory.com/109

profile
continuous programming

0개의 댓글