일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 쉘스크립트
- node.js 교과서 따라하기
- 머클트리
- 이더리움
- 리눅스
- 깃허브
- 일반유저
- wsl
- 변수
- 리액트를 다루는 기술
- Docker
- 라우터
- 전역설치
- 설치
- centos
- wget
- 노드
- 벨로포터
- 리액트
- 시퀄라이즈
- 솔리디티
- 블록체인
- npm
- immer
- Sequelize
- 환경변수
- 자바스크립트
- 우분투
- MariaDB
- 머클루트
- Today
- Total
코드코코
[리눅스] [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