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 '비밀번호';
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] DELIMITER - 구분 문자 변경하기 (0) | 2021.12.26 |
---|
댓글