Workbench连接mysql报错"SSL connection error:SSL is required but the server doesn't support it"

分类:计算机 | 数据库 | MySQL | 综合 183
更新:2022-01-19 12:48:05
编辑

1 异常说明

在使用Workbench连接一个远程mysql服务器的时候,报错:SSL connection error:SSL is required but the server doesn't support it。

2 异常分析

新版本的Workbench(我用的是8.0.27)在创建数据库连接时会强制使用SSL,但是如果数据库服务没有开启SSL支持或者不支持SSL的话,那么连接就会失败。

3 异常解决

有三种解决办法:

一是将mysql服务开启SSL支持。

二是将Workbench的版本降到6.3。

三是修改Workbench的连接配置文件,具体步骤如下:

1、首先要关闭Workbench,因为不关闭的话有可能改完的连接配置文件会被覆盖掉。

2、进入配置目录

C:\Users\XXXX\AppData\Roaming\MySQL\Workbench

找到连接配置文件connections.xml。

3、打开连接配置文件connections.xml,在其中找到自己添加的数据库连接(我们添加的每一个数据库连接都可以在这里找到相应的value节点,节点里面就是连接配置参数),找到key="useSSL"的value节点,将值从2改成1,保存,重新打开Workbench,点击数据库连接,即可连上数据库。这里要注意的是,最好不要在Workbench中再次编辑数据库连接,这样会把之前保存的userSSL值覆盖掉,重新变成2,如果要修改的话最好还是在配置文件connections.xml中修改,当然这种方式也带来了一些不便,大家酌情选择。

4 其它说明

MySQL5.7之前版本,安全性做的并不够好,比如安装时生成的root空密码账号、存在任何用户都能连接上的test库等,导致数据库存在较大的安全隐患。好在5.7版本对以上问题进行了一一修复。与此同时,MySQL 5.7版本还提供了更为简单SSL安全访问配置,且默认连接就采用SSL的加密方式,这让数据库的安全性提高一个层次。