MySQL建立SSL连接问题,设置useSSL=false显式禁用SSL,或者设置useSSL=true

Posted 肌肉猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL建立SSL连接问题,设置useSSL=false显式禁用SSL,或者设置useSSL=true相关的知识,希望对你有一定的参考价值。

You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

要求如果未设置显式选项,则默认情况下必须建立SSL连接。 为了与不使用SSL的现有应用程序兼容,将verifyServerCertificate属性设置为‘false‘。 您需要通过设置useSSL = false来显式禁用SSL,或者设置useSSL = true并为服务器证书验证提供信任库。

解决办法:

所以为了配合他们的要求,且不为我学习jdbc添加困难,我们选择禁用:

您需要通过设置useSSL = false显式禁用SSL,或者设置useSSL = true并为服务器证书验证提供信任库。

所以,在填写c3p0-config.xml配置文件时,在url一栏添加useSSL=false

jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC

C3P0连接池配置一些参数

参数名称 参数说明
user 数据库用户名(用于连接数据库)
password 用户密码(用于连接数据库)
useUnicode 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true
characterEncoding 当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk
autoReconnect 当数据库连接异常中断时,是否自动重新连接?
autoReconnectForPools 是否使用针对数据库连接池的重连策略
failOverReadOnly 自动重连成功后,连接是否设置为只读?
maxReconnects autoReconnect设置为true时,重试连接的次数
initialTimeout autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒
connectTimeout 和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本
socketTimeout socket操作(读写)超时,单位:毫秒。 0表示永不超时

参考:https://my.oschina.net/u/3795908/blog/4441035/print

以上是关于MySQL建立SSL连接问题,设置useSSL=false显式禁用SSL,或者设置useSSL=true的主要内容,如果未能解决你的问题,请参考以下文章

mysql workbench ssl连接问题

ApplicationContext 配置里dataSource mysql连接数据源,设置ssl和utf-8

java连接数据库报了ssl连接的警告

MYSQL You need either to explicitly disable SSL by setting useSSL=false

JDBC连接数据库的url设useSSL参数为true产生的问题

设置和验证 Python MySQL 连接中使用的 SSL/TLS 版本