2021.12.1发布:
我经常使用mysql workbench,现在试用了一下最新版本的,也即8.0.27版本,发现连接报错
原因说的很明显了,客户端要求建立ssl加密连接,而服务器端不支持(我的服务器端是5.7.27,默认不会创建证书,也就不支持ssl连接),且mysql workbench 8.0.27已经不支持非ssl的连接方式了
但是但是,发现mysql workbench 8.0.27并没有堵死这条路,还是可以设置让其支持非ssl连接的:先关闭workbench,再修改C:\Users\当前用户\AppData\Roaming\MySQL\Workbench\connections.xml,将useSSL改为0,然后启动workbench
<?xml version="1.0"?>
<data grt_format="2.0">
<value _ptr_="000001D77A7B2FC0" type="list" content-type="object" content-struct-name="db.mgmt.Connection">
<value type="object" struct-name="db.mgmt.Connection" id="{88B411CC-C5A5-4E21-B298-EF7E86D5884A}" struct-checksum="0x96ba47d8">
<link type="object" struct-name="db.mgmt.Driver" key="driver">com.mysql.rdbms.mysql.driver.native</link>
<value type="string" key="hostIdentifier">Mysql@192.168.37.101:3306</value>
<value type="int" key="isDefault">1</value>
<value _ptr_="000001D779734360" type="dict" key="modules"/>
<value _ptr_="000001D779734660" type="dict" key="parameterValues">
<value type="string" key="DbSqlEditor:LastDefaultSchema"></value>
<value type="string" key="SQL_MODE"></value>
<value type="string" key="hostName">192.168.37.101</value>
<value type="int" key="lastConnected">1638352617</value>
<value type="string" key="password"></value>
<value type="int" key="port">3306</value>
<value type="string" key="schema"></value>
<value type="string" key="serverVersion">5.7.27-log</value>
<value type="string" key="sslCA"></value>
<value type="string" key="sslCert"></value>
<value type="string" key="sslCipher"></value>
<value type="string" key="sslKey"></value>
<value type="int" key="useSSL">0</value>
<value type="string" key="userName">root</value>
</value>
<value type="string" key="name">yongle</value>
<link type="object" struct-name="GrtObject" key="owner">{E4EFC4B1-D035-4BBC-8E6A-439531BFFF15}</link>
</value>
</value>
</data>
对比看一下mysql workbench 8.0.26的ssl选项中还支持非ssl连接
2022.3.5更新:
mysql workbench 8.0.28又恢复了原来的行为方式,即支持非ssl方式