Can't connect to MySQL in production: SSLHandshakeException

I guess that this is not a Clojure-specific question but I’ll try my luck anyway.

I have been able to connect directly to MySQL on our production server from a REPL on my development computer, which has been practical for troubleshooting and doing some DB updates that require data processing. However, since a few months this is not possible anymore. I am not sure what has changed, if it’s on my computer or on the server.

What I do is first create an SSH tunnel into the server. I can use this tunnel to connect MySQL Workbench to MySQL on the server, so the tunnel is working. However, if I use (jdbc/query jdbc-config "SHOW DATABASES") (jdbc-config has the correct credentials), I get the following error

Execution error (SSLHandshakeException) at sun.security.ssl.HandshakeContext/<init> (HandshakeContext.java:172).
No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

What does this mean? That Java can’t use the SSL protocol required by the server? This is really not my expertise so I have no idea how to troubleshoot. Any suggestions welcome!

Have you tried bumping your dependencies to their newest versions?

Yes! I had not bumped mysql/mysql-connector-java from 8.0.22, which is at 8.0.29 now. 8.0.23 broke some date-time handling in my app - so now I have to figure out how to solve that…

Thanks!

1 Like

Glad that solved it!

1 Like