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

南笙酒味 提交于 2020-07-28 04:06:29

you need either to explicitly disable ssl by setting usessl=false, or set usessl=true and provide trustsore for server certificate verification

警告:不建议在未经服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果未设置显式选项,则默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“false”。您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储

处理办法
第一种处理办法
jdbcUrl=jdbc:mysql://localhost:3306/zht?useUnicode=true&characterEncoding=utf-8&useSSL=false
1
1.先将mysql-connector-java的版本改到5.5.45之下
2.再将jdbcUrl改成如下

jdbcUrl=jdbc:mysql://localhost:3306/zht?useUnicode=true&characterEncoding=utf-8
1
第二种处理办法
如果你觉得更喜欢5.5.45以后的版本,那么需要将jdbc.properties里jdbcUrl换成新的:

jdbc:mysql://192.168.0.105:3306/shgb_fz?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&zeroDateTimeBehavior=convertToNull

参数名称                    参数说明                                                                                                                         
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表示永不超时 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!