티스토리 뷰
초보 웹 개발자를 위한 스프링 5 프로그래밍 입문(최범균 저)의 chap08 jdbcTemplate 예제를 따라 하다 main 클래스 (MainForMemberDao)를 실행하는데 아래와 같은 오류가 발생했다.
java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
원인
어떤 오류인가? 블로그도 보고 공식 문서를 참고해 보니,
MySQL은 사용자 계정 암호에 대해 SHA-256 해싱을 구현하는 두 가지(sha256_password, caching_sha2_password) 인증 플러그인을 제공하는데, MySQL 8.0부터 caching_sha2_password가 기본 인증 플러그인이라고 한다.
caching_sha2_password는 SSL 보안 연결을 사용하거나 RSA 보안을 적용한 비암호 연결을 사용 사용해야 한다고 한다.
이전에 setUrl() 메서드에서 ssl 인증을 fales로 설정했기 때문에 caching_sha2_password 오류가 발생한 것이었다.
📌 해결 방법
해당 보안 요구 사항은 에 적용되지 않으므로 계정 password를 mysql_native_passsword로 전환하여 해결했다.
자세한 설명은 이 블로그에 나와있는데 잘 정리해 주셔서 보기 편했다. 내용이 길어 접은 글로 대체
1. cmd가 아닌 MySQL Command Line Client를 실행한다.
2. 접속 후 root 계정의 password 입력
3. 명령어 입력
> use mysql;
> select user , host, plugin from user where user = '사용자 ID' ;
4. 아래 쿼리문으로 사용자 ID 패스워드를 mysql_native_password 비밀번호로 바꾼다.
> ALTER USER '사용자 ID'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';
5. 변경하면 Mysql Workbench로 정상적으로 접근이 되는 것을 확인할 수 있다.
'study > Error' 카테고리의 다른 글
[Error] .properties 인코딩 오류 (0) | 2023.03.31 |
---|---|
[Error] maven-war-plugin (0) | 2023.01.30 |
[Error] Java MySQL 8 연결 오류 - Establishing SSL connection without server's identity verification is not recommended. (0) | 2023.01.16 |
[Error] 메이븐 pom 파일 - 스프링 버전 오류 (0) | 2022.12.05 |
[Error] 이클립스 한글 깨짐 오류 (0) | 2022.12.05 |
- Total
- Today
- Yesterday
- 웹페이지
- django
- django-environ
- authenticate()
- 배열
- git공부
- path variable
- 암호화
- 디자인 패턴
- Magazine K
- API
- 검색 결과 내 페이지네이션
- 회원 로그인
- 톰캣
- django.contrib.auth
- 환경 변수 설정
- git 공부
- python3
- 면접을 위한 CS 전공 지식 노트
- musma
- 회원가입
- 혼자 공부하는 파이썬
- Python
- git
- 커맨드 객체
- Django tutorial
- Java
- 한글 형태소 분석기
- error: failed to push some refs to 'https://github.com/
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |