cmd에서 services.msc 를 입력해서 서비스 창을 실행시킨다.
그리고 mysql 또는 mariadb 서비스를 찾아서 중지시킨다. 서비스를 다시 시작해야 되기 때문에 서비스 창은 종료하지 않도록 하자.
CMD에서 MySql 혹은 MariaDB의 경로의 bin 경로로 이동한다.
mysqld -uroot --skip-grant-tables
OR
mysqld --skip-grant
권한을 스킵하고 실행하는 커맨드를 입력한다.
해당 커맨드를 입력하면 창이 멈추기 때문에 또 다른 CMD 창을 실행시켜 준다.
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)의 재시작 없이 변경한 설정부분을 적용시키고자 할 때 사용
아래 커맨드를 통해 변경한 비밀번호가 정상적으로 동작하는 지 확인한다.
mysql -u root -p
Referenced: https://jemmaa.tistory.com/26, https://yeolceo.tistory.com/109