본문 바로가기
다른 DBMS/MySQL&MariaDB

[Mysql Workbench]접속 에러 해결 : unsupported protocol

by 취미툰 2023. 10. 23.
반응형

테스트를 위해 centOS에 mysql 5.7 버전을 설치 하고 client 툴인 workbench를 접속하려고 하는데 아래의 에러가 발생하였습니다.

 

SSL connection error: error:0

A000102:SSL routines::unsupported protocol이라고 발생하였으며 접속이 되지 않았습니다.

 

원인으로는 useSSL이라는 설정때문인데 default값이 true입니다. 이것을 false로 되게 하면 됩니다.

 

workbench의 경우에는 SSL 탭에 있습니다.

기본적으로 if available 로 설정되어 있습니다. No로 바꿔줍니다.

 

다시 시도하니 잘되는것을 확인할 수 있습니다.

끝.

 

+) 추가궁금증

SSL은 무엇이고 왜 default가 true인가요

 

서버와 JDBC 드라이버 사이의 데이터 전송을 SSL을 사용하여 모두 암호화할 수 있습니다.

해당 기능을 활성화하면 성능저하가 발생하며, 그 심각도는 네트워크 대역폭, 데이터양 등에 의해서 다를 수 있습니다.

 

시스템은 두개의 Java 키 저장소 파일을 통해 작동합니다. 한 파일에는 서버에 대한 인증서 정보가 포함되어 있고, 다른 파일에는 클라이언트에 대한 키와 인증서가 포함되어 있습니다. 모든 Java키 저장소 파일은 파일을 생성할 때 keytool에서 제공된 비밀번호로 보호됩니다.

SSL 연결을 생성하려면 파일 이름과 관련 비밀번호가 필요합니다.

 

OpenSSL로 컴파일된 Mysql Server 5.7,8.0,8.1의 경우 시작시 누락된 SSL파일을 자동으로 생성하고 이에 따라 SSL 연결을 구성할 수 있습니다.

 

8.0.12 이하 버전 : 서버가 SSL을 사용하도록 올바르게 구성되어 있는 한 암호화된 연결을 사용하기 위해 클라이언트에서 어떤 것도 구성할 필요는 없습니다. 예외적으로 매우 오래된 서버에 연결하는 경우(5.6.25 이하 또는 5.7.5 이하는 useSSL=true를 사용하려면 클라이언트가 연결 속성을 설정해야 함)

 

8.0.13 이상의 경우

서버가 SSL을 사용하도록 올바르게 구성되어 있는 한 암호화된 연결을 사용하기 위해 클라이언트에서 어떤 것도 구성할 필요는 없습니다.

sslMode=REQUIRED 클라이언트는 연결 속성 , VERIFY_CA또는 을 설정하여 SSL 사용을 요구할 수 있습니다.

 

저도 모르는 부분이 있지만, 간단하게 말해서 SSL이란  Secure Sockets Layer 로써 데이터 암호화를 통해 보안관점에서 필요한 기능입니다. 따라서 default는 true로 설정되어 있는것으로 알 수 있네요.

(SSL을 true로 하고 동일하게 workbench를 통해 접속을 하고 싶다면... 좀더 연구해봐야 겠네요. 출처를 보면 파일을 통해서 할 수 있을것 같기도 합니다...) 

 

출처 : https://dev.mysql.com/doc/connector-j/8.1/en/connector-j-reference-using-ssl.html

 

반응형

댓글