Access denied for user 'root'@'localhost'  오류

 

프로젝트에서 간만에 MariaDB에 접속하는데 root 로그인이 안 되길래,

DBeaver를 실행해도 같은 증상이 발생해서 MariaDB 접속이 안되네요.

 

이전에 계속 정상 동작하던 것인데, 원인은 모르겠고...

아래처럼 root 계정 비번을 다시 설정하는 절차를 거쳐서 복구했습니다.

 

로컬 개발 환경은 Windows 기준이니 리눅스 사용자는 흐름만 참고하세요. 

일단, MariaDB는 설치되어 있고 정상 동작한다고 가정합니다. 

 

1. cmd(1번) 창을 엽니다(저는 관리자 모드로 열었습니다.) 

net stop mariadb  <엔터>    <-- 마리아디비 종료 (이미 종료된 상태면 무시)

 

아래처럼 명령을 내립니다.

mysqld --skip-grant-tables  <엔터>

<-- 이 상태에서 새로운 cmd(2번) 창을 열고 2. 작업을 하고 돌아옵니다.

 

마리아디비를 실행합니다.
net start mariadb  <엔터>

<--- 다른 2번 창에서 접속이 잘 되나 테스트합니다.

 

작업을 마쳤으면 1번 cmd 창을 종료합니다.

 

2. cmd(2번) 창을 열고 작업합니다.

 

mysql -u root <엔터>

FLUSH PRIVILEGES; <엔터>
ALTER USER 'root'@'localhost' IDENTIFIED BY '새비밀번호'; <엔터>
EXIT; <엔터>

<-- 1번 cmd 창으로 돌아가서 마리아디비를 실행하고 돌아옵니다.

 

mysql -u root -p <엔터>
Enter password: *********  <엔터>    <-- 새비밀번호 입력해서 로그인 

아래처럼 나오면 성공!
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 11.7.2-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

MariaDB [(none)]> exit  <엔터>    <-- 종료!  

이제 cmd 창을 닫습니다.

 

3. 마리아디비 접속 확인

 

디비위버나 프로젝트에서 디비에 정상 로그인되는지 확인합니다. ^^

 

반응형

+ Recent posts