JDBC一:JDBC连接测试遇到的问题汇总

JDBC连接测试

一、使用mysql-connector-java-5.1.49-bin.jar
  1. 错误提示:不建议在没有服务器身份验证的情况下建立 SSL 连接
    Thu Jan 20 18:37:57 CST 2022 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
    
    Thu Jan 20 18:27:04 CST 2022 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。 根据 MySQL 5.5.45+5.6.26+5.7.6+ 的要求,如果未设置显式选项,则默认情况下必须建立 SSL 连接。 为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。 您需要通过设置 useSSL=false 来显式禁用 SSL,或者设置 useSSL=true 并为服务器证书验证提供信任库。
    

    解决方法

    // 在数据库名后加上 ?useSSL=false
    String url = "jdbc:mysql://localhost:13306/atguigudb?useSSL=false";
    

    什么是SSL连接

    SSL协议,当前版本为3.1(SSL3.1就是TLS1.0)。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输.它位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

  2. 遗留问题

    不知是什么原因,8.0.x的版本就没有这种情况

    在这里插入图片描述

二、使用mysql-connector-java-8.0.11
  1. 驱动包名的变化,多了 .cj
    Class clazz = Class.forName("com.mysql.cj.jdbc.Driver") ;
    
  2. 需要加上时区并建立SSL连接问题
    // 在数据库名后加上 ?useSSL=false
    String url = "jdbc:mysql://localhost:13306/atguigudb?serverTimezone=UTC&useSSL=false";
    
  3. url
    // 固定写法,不可以加 ".cj" ,5.0.x版本的jar包也是这种写法
    "jdbc:mysql://localhost:3306/具体数据库名?useSSL=false";
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

e_nanxu

感恩每一份鼓励-相逢何必曾相识

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值