본문 바로가기
DB/MySQL

[MariaDB/MySQL Client] ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

by yeoonnii 2024. 7. 28.

 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

(using password: NO) ➡ 비밀번호 미입력하여 접속 시도시 

(using password: YES)  ➡ 입력한 비밀번호 오류인 경우

 

 

계정 비밀번호를 잊어버려 DB에 접속할 수 없게 된 상황이다

계정 비밀번호 초기화 진행을 해보자!

 

 

 

🧶 해결 방법 : 비밀번호 초기화

 

1. 실행 중인 MariaDB 서버 완전히 중지

Windows 탐색창 또는 명령 프롬프트에서 MariaDB 서버를 중지할 수 있다.

 

1) Windows 탐색창 - service(서비스 창) - MariaDB 우클릭 - 서버 중지

 

 

2) 명령 프롬프트 - 관리자 권한으로 실행 - 명령어 입력

net stop MariaDB

 

 

 

2. --skip-grant-tables 모드으로 MariaDB 서버 시작

`--skip-grant-tables`  모드 사용시 ➡ 계정 인증 및 권한 검사 비활성화

mysqld --skip-grant-tables

 

서버 접속 완료시 커서가 깜빡이며 로딩 상태가 되는데, 이때 창을 그대로 두고 새 명령 프롬프트 창을 열어준다.

 

 

 

3. MySQL 클라이언트로 접속

 

 

 

4. root 비밀번호 재설정

MariaDB 10.4 이상 버전인 경우
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운비밀번호';
FLUSH PRIVILEGES;

 

MariaDB 10.4 이하 버전인 경우
FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET Password = PASSWORD('새로운비밀번호') WHERE User = 'root';
FLUSH PRIVILEGES;

 

 

 

5. MySQL 클라이언트 종료

EXIT;

 

 

 

6. --skip-grant-tables 모드의 MariaDB 서버 중지

무한 로딩 상태의 창에서 Ctrl + C를 눌러 서버를 중지합니다.

 

 

7. MariaDB 서버 정상 모드로 재시작

net start MariaDB

 

 

 

8. 변경된 비밀번호로 root 접속 가능