java - 连接到MySQL数据库时有关SSL连接的警告

通过以下两个类,我尝试连接到MySQL数据库。 但是,我总是得到这个错误:

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

这是使用Database方法的测试类:

public class TestDatabase {

public static void main(String[] args) {

Database db = new Database();

try {

db.connect();

} catch (Exception e) {

e.printStackTrace();

}

db.close();

}

}

这是Database类:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class Database {

private Connection con;

public void connect() throws Exception{

if(con != null) return;

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e) {

throw new Exception("No database");

}

String connectionURL = "jdbc:mysql://localhost:3306/Peoples";

con = DriverManager.getConnection(connectionURL, "root", "milos23");

}

public void close(){

if(con != null){

try {

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

10个解决方案

483 votes

您的连接网址应如下所示,

jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false

这将禁用SSL并抑制SSL错误。

Priyank Gosalia answered 2019-02-16T13:19:30Z

109 votes

如何使用SSL但关闭服务器验证(例如在您自己的计算机上处于开发模式时):

jdbc:mysql://localhost:3306/Peoples?verifyServerCertificate=false&useSSL=true

Peter DeGregorio answered 2019-02-16T13:20:04Z

18 votes

另一种方法是:

Properties properties = new Properties();

properties.setProperty("user", "root");

properties.setProperty("password", "milos23);

properties.setProperty("useSSL", "false");

properties.setProperty("autoReconnect", "true");

try (Connection conn = DriverManager.getConnection(connectionUrl, properties)) {

...

} catch (SQLException e) {

...

}

虽然,我不认为需要自动重新连接设置来删除警告。

Jon answered 2019-02-16T13:20:44Z

12 votes

提到xml喜欢:

jdbc:mysql://hostname:3306/hibernatedb?autoReconnect=true&useSSL=false

但是当你提到&时在xml配置中 标志,IDE显示以下错误:

The reference to entity "useSSL" must end with the ';' delimiter.

然后你必须明确使用xml而不是xml由xml确定为xml,之后在xml中你需要在xml配置中给出这样的url:

jdbc:mysql://hostname:3306/hibernatedb?autoReconnect=true&useSSL=false

ArifMustafa answered 2019-02-16T13:21:29Z

8 votes

你需要像这样使用你的mysql路径:

harun ugur answered 2019-02-16T13:22:01Z

8 votes

在与MySQL建立连接时使用它来解决配置单元中的问题

javax.jdo.option.ConnectionURL

jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true&autoReconnect=true&useSSL=false

metadata is stored in a MySQL server

KARTHIKEYAN.A answered 2019-02-16T13:22:26Z

8 votes

我也发现了这个警告,然后通过对连接字符串使用SSL = false后缀来修复它,就像这个示例代码一样。

例:

connectionString = "jdbc:mysql://{server-name}:3306/%s?useUnicode=yes&characterEncoding=UTF-8&useSSL=false"

John Pluto Solutions answered 2019-02-16T13:22:54Z

6 votes

这对我来说没问题:

this.conn = (Connection)DriverManager

.getConnection(url + dbName + "?useSSL=false", userName, password);

Tomal answered 2019-02-16T13:23:20Z

1 votes

新版本的mysql-connector默认建立SSL连接...解决它:

下载mysql-connector的旧版本,例如mysql-connector-java-5.0.8.zip

。。要么。。下载OpenSSL for Windows并按照说明如何设置它

Ahmad.ak answered 2019-02-16T13:24:00Z

0 votes

我在config xml中将此属性用于hibernate

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

没有 - serverTimezone = UTC - 它不起作用

Aliaksandr Kavalenka answered 2019-02-16T13:24:32Z

java连接mysql禁用ssl_java - 连接到MySQL数据库时有关SSL连接的警告相关推荐

  1. mysql服务器证书验证提供信任库_连接到MySQL数据库时有关SSL连接的警告

    连接到MySQL数据库时有关SSL连接的警告 通过以下两个类,我尝试连接到MySQL数据库.但是,我总是得到这个错误:Wed Dec 09 22:46:52 CET 2015 WARN:不建议在没有服 ...

  2. java mysql ssl警告_连接到MySQL数据库时有关SSL连接的警告

    用于初始化与MySQL服务器的连接的默认值在最近已更改,并且(通过快速查看堆栈溢出时最流行的问题和答案)新值引起了很多混乱.更糟糕的是,标准建议似乎是完全禁用SSL,这在制造过程中有点麻烦. 现在,如 ...

  3. java连接本地数据库命令_Java操作数据库时一次连接只能执行一条SQL命令

    Java操作数据库时一次连接只能执行一条SQL命令 答:× 全面深化改革要攻坚涉险,必须坚持正确的思想方法,不断探索和把握全面深化改革的内在规律,特别是要把握和处理好全面深化改革中的等重大关系 答:整 ...

  4. mac版eclipse连接mysql_将Eclipse连接到mysql mac os x jdbc驱动程序

    我想在学习java sql的东西时运行下面的代码,但是,我已经创建了数据库,并且从终端尝试了它的好处.将Eclipse连接到mysql mac os x jdbc驱动程序 1,我得到这个错误 java ...

  5. python连接mysql失败_Python连接到MySQL失败,错误为“dh key too small”

    在撰写本文时,使用mysql连接器python 2.1.4来自Oracle的纯python模块(您使用的是2.1.3版本的fork)支持连接字符串中未记录的连接配置kwargssl_cipher(因为 ...

  6. php mysql pdo use_PHP连接到mysql的方法--mysqli和PDO

    php连接到mysql数据库,经典的方式就是使用mysql_connect(),具体代码如下: mysql_connect($db_host, $db_user, $db_pass) or die(m ...

  7. 10061 mysql,Navicat无法连接到MySQL server的10061错误

    修改服务器上 /etc/mysql/mysql.conf.d(mysqld.cnf),配置中,默认bind-address是127.0.0.1,可将其注释掉或者改成0.0.0.0,restart my ...

  8. heroku能用mysql吗_heroku连接到mysql数据库

    首先,您需要确保用于连接MySQL的用户和密码是正确的,并且用户具有正确的权限来处理所选的数据库. 然后可以检查mysql是否接受本地主机上的连接.在 至于直接处理连接拒绝异常,请检查用于与本地主机应 ...

  9. java连接accdb,尝试通过Java 8中的JDBC-ODBC连接到.accdb文件时,出现ClassNotFoundException...

    我正在Eclipse EE IDE的Java中的一个项目中,我必须查询一个.accdb文件.问题是当我尝试加载驱动程序然后连接到数据库时,它给了我一个异常错误. 我的代码: try{ String f ...

最新文章

  1. 五:Angular 数据绑定 (Data Binding)
  2. 增加一个dbe连接_pogo pin连接器是如何解决振动的问题?
  3. 第三章 PLSQL Developer 安装前oracleclient客户端的配置,在用plsql 连接oracle服务器
  4. 1716. 计算力扣银行的钱
  5. 战神笔记本电脑自带access吗_笔记本电脑卡顿不要急着换,这几个方法,让你的电脑流畅爆表...
  6. Tableau可视化学习笔记:day11-12
  7. 华为服务器怎么设置u盘启动安装系统,服务器怎么设置u盘启动
  8. docker使用国内加速器的正确姿势
  9. 【应用笔记】【AN002】通过iTool2基于MinGW平台读写EEPROM
  10. firefly-rk3288j开发板--linux I2C实验之eeprom驱动
  11. day---06 文件的操作
  12. 王小草【深度学习】笔记第七弹--RNN与应用案例:注意力模型与机器翻译
  13. 三校生高考计算机基础知识,计算机基础知识题(单选题)(三校生历年高考真题归纳)...
  14. H.264编码技术(zz)
  15. In file included from scripts/kconfig/lxdialog/checklist.c:24:0: scripts/kconfig/lxdialog/dialog.h:3
  16. 历届各大IT公司校园招聘笔试面试题汇总
  17. 合并/拆分 Excel?Python、VBA轻松自动化
  18. 系统集成项目管理工程师高频考点(第三章)
  19. C语言输入Aa1Bb2Cc3,《C语言基础知识》PPT课件.ppt
  20. [原创]推荐学习STL的好书(入门级别)

热门文章

  1. 5类系统推荐算法,非常好使,非常全
  2. hanoi tower
  3. 假新闻识别,从0到95% - 机器学习实战
  4. 科莱瑞迪IPO被终止:曾拟募资3.4亿 詹德仁夫妇控制63%股权
  5. 感量越大抑制频率约低_磁环抗干扰选择
  6. 当图网PPT模板下载网站源码 无错运营版 带会员系统可充值
  7. 树莓派4B安装nodejs,noble
  8. STM32G431-基于HAL库(第十四届蓝桥杯嵌入式模拟题2)
  9. QT——JSON解析
  10. Double和double的区别