IT/db

mysql 원격접속시 public key retrieval is not allowed 오류

thesse 2022. 11. 16. 17:19
300x250
반응형

이놈의 db 원격접속 설정은 할때마다.... 한번에 된 적이 없다

이번엔 mariadb가 아니고 mysql이다

 

% 호스트에서 접속 가능한 계정 만들고

privilege 설정도 해주고

flush privilege도 해주고

bind-address도 0.0.0.0으로 열어주고

iptables에서 3306 포트 열어주고

클라우드 콘솔에서 네트워크 규칙 3306 포트도 추가해줬는데

 

 

 

 

DBeaver로 연결하려고 하니 뜨는 에러

dbeaver communications link failure

알고보니 mariadb와 달리

mysql은 conf 파일 변경 후 바로 적용되는게 아니라 서비스 리스타트를 해줘야 한다.

(아마도? mariadb와 다른게 맞을듯? 마리아는 리스타트 한적이 없는걸로 기억하는데 아닐수도?!)

bind-address가 여전히 로컬로 한정되어있어서 뜬 에러인 듯하다

 

그래서 해줬다

sudo systemctl restart mysql.service

 

 

 

 

그랬더니 이번엔 에러문구가 바뀐다 ㅎㅎ

보다 빠르게 뜨는 실패창...

public key retrieval is not allowed

 

mysql 버전 8부터 보안 설정이 추가로 필요해졌다고 한다...

 

jdbc 드라이버를 쓰고 있다면 url 뒤에 추가해줘야 하는데

DBeaver에서는 allowPublicKeyRetrieval을 true로 설정해주면 된다

 

 

 

참고

https://deeplify.dev/database/troubleshoot/public-key-retrieval-is-not-allowed

https://youngwonhan-family.tistory.com/entry/MySql-Public-Key-Retrieval-is-not-allowed-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0

 

더보기

2021.10.13 - [IT/db] - mysql 외부 접속

2022.06.22 - [IT/db] - mariadb 권한 허용시 grant all privileges on *.* to 'user'@'%' identified 'passwd' with grant option 뜻

 

300x250
반응형