[MySQL] Java MySQL Connector 에러-Public Key

Java에서 쓰이는 MySQL Connector 8.0 사용하면 다음과 같은 에러가 발생할 있습니다.

또한 MySQL 5.7에서 mysql 인증 플러그인을 mysql_native_password에서 sha256_password 변경시 다음과 같은 에러가 발생할 있습니다. 

 

 

Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

 

Public Key Retrieval 속성이 사용되지 않았다는 얘기입니다. 8.x부터는 강제 의무 사항으로 속성을 true 반드시 변경해 주어야 합니다.

 

1. Java driver 속성 추가 방법

jdbc driver url속성에서 allowPublicKeyRetrieval=true&useSSL=false 속성을 추가합니다.

jdbc:mysql://localhost:3306/db?allowPublicKeyRetrieval=true&useSSL=false

 

2. dbeaver

DBMS 무료 접속툴인 dbeaver에서 다음과 같이 설정합니다.

 

대부분 DB Tool에서 위와 같은 옵션을 지원합니다. 위의 옵션을 TRUE 변경합니다. 그럼 접속이 가능하게 됩니다.

 

 

※도움이 되셨다면 광고클릭 한번 부탁드립니다.※

 

Designed by JB FACTORY