본문 바로가기
데이터베이스/MySQL

[MySQL, Spring] Unable to load authentication plugin 'caching_sha2_password' 해결 방법

by jeonghaemin 2020. 11. 30.
728x90

스프링 JDBC에서 MySQL을 연동하는 과정에서 다음과 같은 에러가 발생했다.

java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.

구글링을 통해 해결 방법을 찾아보았고, MySQL 8.0 이상의 버전에서 발생하는 문제로써 8.0 버전의 기본 인증 플러그인 변경으로 발생한 문제였다.

 

MySQL 8.0은 SHA-256 해싱을 구현하는 두 가지 플러그인을 지원한다.

  • SHA256 : 기본적인 SHA-256 인증을 구현한 플러그인.
  • caching_sha2_password : sha256_password와 동일하지만, 성능 향상을 위해 서버 캐싱을 이용한다.

MySQL 8.0의 기본 인증 플러그인은 caching_sha2_password이다.

 

caching_sha2_password를 사용하려면 'SSL 보안 연결'을 사용하거나 RSA 보안을 적용한 비암호 연결을 사용해야 한다.

 

그렇기 때문에 보안 연결이나 RSA 보안을 사용하지 않으면 해당 에러가 발생하는 것이다. 

java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.

 

이 문제를 해결하는 가장 쉽게 해결하는 방법은 인증 방식을 MySQL 5.* 버전에서 디폴트로 사용되었던 'mysql_native_password' 방식으로 변경하는 것이다.

ALTER USER '사용자'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';

 

참고 : https://kogle.tistory.com/87#comment15369241

'데이터베이스 > MySQL' 카테고리의 다른 글

[MySQL] DELIMITER - 구분 문자 변경하기  (0) 2021.12.26

댓글