如何解决Java通过JDBC访问MySQL时SSL连接告警问题
2016-12-16 14:02
676 查看
背景
MySQL 5.5.45+, 5.6.26+, 5.7.6+开始支持SSL连接,如果没有明确设置相关的选项时,缺省要求SSL连接。为兼容性考虑,旧应用程序需要设置verifyServerCertificate和useSSL属性。MySQL连接时给出的告警信息也清楚的给出了原因和处理方案。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.
方案1: 在URL中设置相关属性
static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); } } public Connection getConnection() throws SQLException { String url = "jdbc:mysql://localhost:3306/db_hibernate?verifyServerCertificate=false&useSSL=false"; String user = "root"; String password = "infinera"; return DriverManager.getConnection(url, user, password); }
方案2: 通过Properties属性设置
static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); } } public Connection getConnection() throws SQLException { String url = "jdbc:mysql://localhost:3306/db_hibernate"; String user = "root"; String password = "infinera"; Properties properties = new Properties(); properties.setProperty("user", "root"); properties.setProperty("password", "infinera"); properties.setProperty("useSSL", "false"); properties.setProperty("verifyServerCertificate", "false"); return DriverManager.getConnection(url, user, password); }
相关文章推荐
- 如何解决JMeter通过JDBC访问Oracle和MySQL的问题
- 如何解决 JMeter 通过 JDBC 访问 Oracle 和 MySQL 的问题 (留言中有 Test Plan 实例下载)
- 如何解决 JMeter 通过 JDBC 访问 Oracle 和 MySQL 的问题 (留言中有 Test Plan 实例下载)
- 如何解决 JMeter 通过 JDBC 访问 Oracle 和 MySQL 的问题 (留言中有 Test Plan 实例下载)
- 如何解决 JMeter 通过 JDBC 访问 Oracle 和 MySQL 的问题 (留言中有 Test Plan 实例下载)
- 如何解决 JMeter 通过 JDBC 访问 Oracle 和 MySQL 的问题 (留言中有 Test Plan 实例下载)
- 如何解决JMeter通过JDBC 访问Oracle 和MySQL的问题
- 如何解决JMeter通过JDBC访问Oracle和MySQL的问题
- 如何解决 JMeter 通过 JDBC 访问 Oracle 的问题
- 解决mysql中只能通过localhost访问不能通过ip访问的问题
- JAVA中通过JDBC访问MS SQL Server2000的常见问题
- 解决mysql中只能通过localhost访问不能通过ip访问的问题
- JAVA语言 mysql-connector-java 访问 Mysql中文乱码问题解决
- 在myeclipse中通过jdbc访问mysql出现拒绝访问的解决办法
- 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表出现的问题及解决
- 如何使用Java程序通过JDBC访问HDInsight Hive Server
- Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题解决方案
- Java URLConnection 类,通过设置浏览器类型来解决访问受限问题
- 解决 通过JDBC向MySQL插入数据的中文乱码 问题
- Java访问MySQL中解决中文乱码问题