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로 변경합니다. 그럼 접속이 가능하게 됩니다.
※도움이 되셨다면 광고클릭 한번 부탁드립니다.※
'Databases > MySQL' 카테고리의 다른 글
[MySQL] 접속 세션에 바이너리 로깅 사용하지 않기 (0) | 2021.08.01 |
---|---|
[MySQL] 복제환경에서 Binary 로그 관리 명령어 (0) | 2021.08.01 |
[MySQL] Thread 모니터링 및 튜닝 (0) | 2021.07.26 |
[MySQL] SSL 접속 확인 방법 (0) | 2021.07.23 |
[MySQL]카탈로그를 이용하여 각종 정보 조회 (0) | 2021.07.18 |