在连接数据库时,最初使用的 JDBC URL 配置如下:
jdbc:mysql://192.168.56.100:3306/mzxLiving_manage?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
修改之后的JDBC URL为
jdbc:mysql://192.168.56.100:3306/mzxLiving_manage?useSSL=false&allowPublicKeyRetrieval=true
具体更改为:
- 禁用 SSL 连接
更改后的配置中,添加了 useSSL=false 参数。这一设置明确告知 JDBC 驱动不要使用 SSL 进行连接。原因如下:
SSL 配置问题:MySQL 5.x 版本可能没有正确配置 SSL。当 JDBC 驱动尝试使用 SSL 连接时,由于缺乏合适的证书或配置不完整,连接将会失败。
避免不必要的安全问题:在没有 SSL 的情况下连接数据库,可以避免 SSL 相关的错误,尤其是在开发和测试环境中。 - 允许公钥检索
另外,配置中还包含了 allowPublicKeyRetrieval=true 参数。这个设置允许通过不安全的方式来检索 MySQL 服务器的 RSA 公钥。
与驱动版本的兼容性:MySQL 8.x 驱动在连接到 MySQL 5.x 服务器时,通常需要服务器提供 RSA 公钥以支持加密的密码传输。如果服务器未正确配置,驱动将无法获取公钥,从而导致连接失败。
简化连接过程:设置 allowPublicKeyRetrieval=true,可以允许驱动以非加密方式检索公钥,这样便能顺利建立连接。