带有 Hibernate 和 C3P0 : How do I disable connecting through SSL? 的 Mysql 8.0.11

标签 mysql hibernate ssl c3p0 karaf

我有一个包含以下组件的 Karaf 程序:

  1. Karaf 4.0.7;
  2. hibernate 4.3.7;
  3. Mysql JDBC 连接器 5.1.27;
  4. C3P0 0.9.5。

我刚刚设置了一个新的开发环境,我正在使用 Mysql 8.0.11(最近才发布)。我已经在本地将我的 Mysql Connector 升级到 5.1.46,因此它与 Mysql 8 兼容,并且大部分情况下都能正常工作。但是,我在 Karaf 控制台中收到一些关于 SSL 的警告:

Wed Apr 25 09:28:29 CEST 2018 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.

我想在本地禁用 SSL,但将 &useSSL=false 添加到连接字符串末尾的建议不起作用。这是我的连接字符串:

hibernate.connection.url=jdbc:mysql://localhost:3306/dbname?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&requireSSL=false

我做错了什么?

最佳答案

遇到MySql & Hibernate SSL Connection之后,我发现在这种情况下,useSSL 和 requireSSL 属性不应该像使用 Tomcat webapp.xml 文件那样添加到 jdbc url(我最初认为它会起作用),而是作为单独的 hibernate.connection.useSSLhibernate.connection.requireSSL 属性。

用法:

hibernate.connection.useSSL=false
hibernate.connection.requireSSL=false

将这两行添加到我在 karaf 中的 hibernate.properties 文件中删除了警告。

关于带有 Hibernate 和 C3P0 : How do I disable connecting through SSL? 的 Mysql 8.0.11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50022690/

相关文章:

java - 如何从 Java 调用 MySQL 存储函数?

php - 错误: Column count doesn't match value count at row 1 for broser

mysql - 如何使用左连接来使用聚合函数?数据库

java - Spring Transaction 尝试在选择查询后触发更新

java - 泽西客户端 SSL 相互认证

python - 通过命令行播种数据库时出现奇怪的 SSL 错误

php - 如何通过输入url检测是否启用了ssl?

asp.net - 使用 ASP.NET 和 mySQL 解决方案的用户 + session 处理

java - Hiber 缓存 : Cache all fixed data permanently

java - 谁能告诉我如何消除这个异常