mariadb root 비밀번호 분실 시 변경하는 방법

2022. 11. 19. 16:48 / 서기랑

 실제 운영에서 그런 일은 드물겠지만 개인적으로 사용하는 db의 경우 한동안 사용하지 않으면 비밀번호를 잊어먹는 경우는 생각보다 꽤 많이 있다.

 이런 경우 분실한 root의 비밀번호를 다시 알아내기는 힘들지만 초기화하거나 변경하여 사용하는 것은 가능한데 방법 자체도 어렵지 않다.

 

mariadb root 비밀번호 변경 하기

1. db 서비스 종료.

 가동중인 우선 mariadb의 서비스를 종료하자.

 서비스의 종료는 윈도우 서비스에서 mySQL이라는 서비스를 찾아서 종료해도 되며 cmd의 명령어를 이용하여 종료하면 된다.

 (여기서는 비트나미의 패키지를 통해 설치한 mariadb인 관계로 서비스 명은 wordpressmariadb로 되어있다.)

윈도우 서비스에서 db 종료

2. 비밀번호 없이 접속 할 수 있도록 mariadb 실행.

 서비스를 종료했다면 cmd를 실행한 뒤 mysql.exe 파일이 있는 경로로 이동하자.

 mysql.exe는 보통 설치한 경로 하위의 bin 폴더에 위치하며 경로명은 사용자마다 다를 것이다.

- 기본 명령어
cd 설치경로\bin

- 경로 예
cd C:\Program File\MariaDB 10.5\bin
cd D:\Bitnami\wordpress-6.0.2-0\mariadb\bin

 

 폴더에 이동했다면 아래의 명령어를 입력하여 비밀번호 없이 db에 접속할 수 있도록 mariadb를 실행하자.

mysqld --skip-grant

권한 없는 mariadb 실행

3. mariadb 접속.

 mariadb를 실행했다면 이제 접속을 해보자.

 2번의 cmd 창은 그대로 두고 새로 cmd 창을 실행한 뒤 다시 mysql.exe 파일이 있는 경로로 이동하자.

- 기본 명령어
cd 설치경로\bin

- 사용 예
cd C:\Program File\MariaDB 10.5\bin
cd D:\Bitnami\wordpress-6.0.2-0\mariadb\bin

 

 폴더에 이동했다면 아래의 명령어를 입력하여 mysql에 접속하자.

 비밀번호를 물어보면 그냥 [Enter]를 치면 된다.

mysql -u root -p mysql

mariadb 접속

4. root 비밀번호 변경.

 db에 접속했다면 이제 비밀번호를 변경해보자.

 비밀번호 변경 sql은 버전에 따라 다르니 mariadb에 맞는 sql을 입력하자.

- mariadb 버전 10.4 미만
update user set password = PASSWORD('비밀번호') WHERE user = 'root';

- mariadb 버전 10.4 이상
set PASSWORD for 'root'@'localhost' = PASSWORD('비밀번호');

 

 비밀번호를 정상적으로 변경했다면 적용을 위해 아래의 명령어를 입력하자.

flush privileges

비밀번호 변경 sql

5. mariadb 재시작.

 root의 비밀번호를 변경하고 적용했다면 이제 mariadb를 재시작하고 접속을 해보자.

 재시작은 컴퓨터를 재부팅하고 서비스를 다시 시작하거나 cmd 창을 모두 닫고 작업 관리자에서 실행 중인 mysqld.exe를 강제 종료한 뒤 서비스를 다시 시작하면 된다.

 

그 외 내용

 4번에서 비밀번호를 변경 sql을 입력시 아래와 같은 오류가 발생하는 경우가 있다.

"The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement"

 이런 경우에는 flush privileges을 실행 한 뒤 다시 sql을 입력해보자.