Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- C
- Selenium
- 맥
- Raspberry Pi
- 제주도
- 옵G
- FMS
- 셀레니움
- 회고
- 20.04
- 옵지
- MySQL
- 라라벨
- 우분투 20.04
- 맛집
- php
- upbit
- 옵티머스g
- codeigniter
- 라즈베리파이
- 라즈비안
- 프레임워크
- TiL
- 우분투
- Ubuntu 20.04
- 업비트
- 코드이그나이터
- Laravel
- ubuntu
- 옵티머스 g
Archives
- Today
- Total
평범한 이야기들
[Mysql] Public key retrieval is not allowed 에러 해결 본문
728x90
평소에 Mysql 5 버전을 사용할 때에는 큰 문제가 되지 않았지만 8 버전부터는 보안적인 이슈로 인해 useSSL 옵션에 대한 추가적인 설정이 존재합니다.
Public key retrieval is not allowed
사용하시는 Mysql 이 8.0 버전이면서 public key retrieval is not allowed에러가 발생한다면 다음과 같은 옵션을 확인해보셔야 합니다.
- useSSL: DB에 SSL로 연결
- allowPublicKeyRetrieval: 서버에서 RSA 공개키를 검색하거나 가져와야 하는지
에러 발생 원인
에러가 발생하는 원인은 useSSL=false로 설정하고 allowPublicKeyRetrieval 설정을 하지 않은 경우입니다.
따라서 아래와 같이 설정해 주시면 해결하실 수 있습니다.
1. 접속 URL 설정
jdbc:mysql://localhost:3306/test_db?useSSL=false&allowPublicKeyRetrieval=true
접속하는 datasource URL에 쿼리 파라미터로 위와 같이 설정해 주시면 됩니다.
2. 드라이버에서 설정
저는 DBeaver 프로그램을 사용하는데 접속정보에서 수정하실 수 있습니다.
3. 인증서가 존재할 시
MySQL 설정 파일(my.cnf)에서 SSL 관련 설정을 수정해야 합니다. SSL 인증서를 사용하지 않는다면 SSL 관련 설정을 주석 처리하거나 삭제하면 됩니다. 하지만 SSL 인증서를 사용하는 경우에는 MySQL 설정 파일에서 다음과 같은 설정을 추가해주어야 합니다.
ssl-ca=/path/to/ca-cert.pem
위 설정에서 /path/to/ca-cert.pem은 SSL 인증서의 경로를 지정하는 부분입니다. 이 경로는 실제 SSL 인증서가 저장된 경로로 수정해주어야 합니다. 설정을 변경한 후 MySQL 서버를 재시작하면 "Public key retrieval is not allowed" 에러가 해결됩니다.
728x90
Comments