코드코코

[리눅스] [MariaDB]ERROR 1698 (28000): Access denied for user 'root'@'localhost' 본문

카테고리 없음

[리눅스] [MariaDB]ERROR 1698 (28000): Access denied for user 'root'@'localhost'

코드코코 2021. 12. 24. 00:06

현재상황

- MariaDB를 설치한 후에 일반 유저 계정으로 DB 접속을 시도하니 에러발생

- root 계정으로는 접속이 잘되나, 일반 유저계정에서는 거부되는 것으로 확인 됨.

- root 계정에서도 비밀번호 입력 없이 엔터만 치면, 그대로 접속이 됨(비밀번호 설정이 안되어 있음)

에러내용

ERROR 1698 (28000): Access denied for user 'root'@'localhost

에러원인

- 기본적으로 초기설정되어있는 root 계정의 패스워드 타입때문인데 이 타입을 변경

해결과정

1. root 계정의 plugin 확인

- root의 플러그인은 unix_socket 으로 사용자가 unix_socket 을 사용하는지만 체크하기때문에 비밀번호는 아무런 의미가 없게 되는것.

MariaDB [(none)]> SELECT User, Host, plugin FROM mysql.user;
+------+-----------+-------------+
| User | Host      | plugin      |
+------+-----------+-------------+
| root | localhost | unix_socket |
+------+-----------+-------------+
1 row in set (0.000 sec)

 

2. 비밀번호 변경을 통해 해결

GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY '비밀번호';

MariaDB [(none)]> GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.001 sec)

 

SET PASSWORD FOR 'root'@'localhost' = '비밀번호';

- 위의 명령어는 아래 에러를 뱉어내며 실패

ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = '1234';
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number

 

3. 접속확인하기

mysql -u root -p

root@DESKTOP-RJ31OF5:/home/ubuntu# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.3.32-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

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)]>

 

4. root 계정의 plugin 재확인

- 플러그인이 보이지 않는다.

- 하지만 접속은 잘된다. 이에 대해 아래 참고 링크를 추가하였으니 함께 탐구해보자.

MariaDB [(none)]> SELECT User, Host, plugin FROM mysql.user;
+------+-----------+--------+
| User | Host      | plugin |
+------+-----------+--------+
| root | localhost |        |
+------+-----------+--------+
1 row in set (0.000 sec)

 

참조 : Access denied for user 'r.. : 네이버블로그 (naver.com)

 

Access denied for user 'root'@'localhost' 해결방법

#Linux #Ubuntu #MariaDB 에러 발생 상황 Ubuntu에서 MariaDB 설치, 동작 확인 (패스워드에 아무...

blog.naver.com

 

플러그인 관련 참고 : https://wnw1005.tistory.com/443

 

MariaDB 10.4 이후의 계정 인증 관련 변화(unix_socket, mysql_native_password 인증 / 계정, 암호 및 전역 권한

[관련 게시물] Ubuntu 20.04 LTS에서 APM 설치 2020/09/14 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 20.04에서 APM 설치 - 아파치(Apache2 설치 2020/09/16 - [서버 운영/APM 서버 구축] - 우분투(Ubuntu) 2..

wnw1005.tistory.com