MySQL SSL连接问题

    一个开发转岗过来,我让他用开发工具连接数据库。随便给了一个MySQL8,地址是10.60.143.134他经过一系列编码发现无法连接,报错。具体如图1.

MySQL SSL连接问题_第1张图片

图1

可以看到现象是:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

而造成这种现行的原因是定位到38行。而38行可以看到就是连接字符串。

我用我的工具连上去也是出这个问题。那么就排除了工具的环境问题。在我没有头绪的情况下,我尝试连接了另外一个MySQL8的数据库。IP是10.60.143.138 与刚才的134不是一个数据如图2.

MySQL SSL连接问题_第2张图片

图2

这个结果是运行正常的,有一句SQL执行完毕,并且有返回结果。

最后我们方向定位在数据库上,我们分布在134和138两个数据库上进行查询。最终发现134的数据库上开启了SSL,而138的数据库是默认的没有SSL。如图3和图4

MySQL SSL连接问题_第3张图片

图3

MySQL SSL连接问题_第4张图片

图4

这个原因查到了。SSL的设置是为了上课讲解设置的,忘记了删除,造成了今天的问题。随即查询了如果配置了SSL那么连接字符串应该如何写。

conn = DriverManager.getConnection("jdbc:mysql://10.60.143.134:3306/x?rewriteBatchedStatements=true&useSSL=false", "用户名", "密码");

MySQL SSL连接问题_第5张图片

 最后说一下SSL这种仅仅在理论学习和考OCP中用用,实际工作还是别用了。应用服务器和数据库都在一起还算安全的。

如果要考OCP可以联系我。

你可能感兴趣的:(数据库,mysql,服务器)