스프링에서 자꾸 이러한 에러가 난다.
Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
이것저것 해보고 MySQL을 다시 지웠다 깔기도 해봤지만 해결하지 못하고,, 구글링을 하다가 겨우 에러를 해결했다.
MySQL Workbench에서 Server-Users and Privileges에 들어가면 이런식으로 Authentication Type이 caching_sha2_password라고 뜨는 것을 확인할 수 있다.
1. MySQL이 설치된 폴더 속 Server의 bin 폴더에서 cmd를 실행한다.(기본 cmd창에서는 cd로 이동)
2. MySQL에 접속하여 로그인을 한 후, MySQL에 접근을 해야한다.
3. 명령어를 사용해 root계정의 비밀번호를 설정하고 확인한다.
alter user '계정입력'@'localhost' identified with mysql_native_password by '비밀번호입력';
4. 변경사항에 대한 저장을 하고 재접속을 한다.
서버를 재부팅했더니 해당 에러가 사라졌다!
끝난줄 알았더니 새로운 에러가 떴다.
Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown system variable 'query_cache_size'
pom.xml에서 MySQL 버전이 맞지 않아 생긴 오류였다.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
버전을 자신의 MySQL 버전에 맞는 8.0.x로 변경해주었더니 해결되었다.