关于JDBC使用mysql数据库,因为mysql版本过高而发出的警告

1. 问题描述

警告信息: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.

分析问题:为什么会出现这个警告?

  • 很明显,这不是我们的代码出错。但其实查一下就知道了,这是因为mysql版本过高,处于安全性考虑,所以默认都是开启了SSL。因此你要通过java的JDBC来连接mysql,那显然是不安全的,所以你必须设置不适用SSL。也就是useSSL=false。
  • 但其实仔细看这个警告信息,就会发现,它已经告诉你要怎么解决这个问题了:You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification

2、解决问题

  • 如果你的数据库连接池dataSource的四大连接参数,driver、url、username和password都是硬编码(写死在代码中),那么直接在指定url连接的后面补上useSSL=false 即可。
    注意:链接后面加参数,记得要先加 ? 噢,参数与参数之间就用 & 来连接。
  • 如果你的数据库连接池dataSource的连接参数是保存在properties配置文件中的话,那也很简单,那就不需要修改代码,直接在配置文件中进行修改url链接即可。
  • 建议:这种参数,最好还是使用配置文件的方式来存储,即方便修改,也不用修改源码。重点是:把编译依赖变成了运行依赖!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java中的JDBC API来监控MySQL数据库。通过JDBC连接MySQL数据库,然后执行SQL语句,获取需要监控的信息。例如,可以执行SHOW STATUS命令来获取MySQL服务器的状态信息,包括连接数、查询数、线程数、缓存命中率等等。还可以执行SHOW PROCESSLIST命令来查看当前正在执行的SQL语句和连接信息。获取到这些信息后,可以将其记录到日志文件中,或者通过邮件、短信等方式发送给管理员。另外,还可以使用一些开源的Java监控工具,例如C3P0、Druid等,来监控MySQL数据库的连接池状态和执行情况。 ### 回答2: Java可以使用多种方式来监控MySQL数据库。 首先,可以使用JDBC(Java数据库连接) API来连接到MySQL数据库,并执行一些查询语句以获取数据库的状态信息。通过执行SHOW STATUS或SHOW VARIABLES语句,可以获取有关数据库连接数、事务数、锁状态、缓存命中率等性能指标的信息。通过定期执行这些查询,可以实时监控数据库的性能。 其次,可以使用Java的开源数据库连接池框架,如Apache Commons DBCP、HikariCP等,来管理数据库连接池。这些框架提供了一些监控功能,可以通过配置参数来启用。例如,可以设置最大活动连接数和最大空闲连接数,当连接数超过或低于阈值时,可以触发警告或记录日志。 此外,还可以使用开源的监控工具,如Cacti、Nagios、Zabbix等,来监控MySQL数据库。这些工具提供了各种监控指标和图表,可以通过配置参数和脚本来实现对数据库的监控和报警。例如,可以监控数据库的CPU和内存使用率、关键查询的响应时间以及慢查询、死锁和连接数等。 最后,可以使用Java的日志框架,如Log4j、Logback等,来记录数据库的日志信息。通过配置日志级别和输出目标,可以将关键的数据库操作和性能指标记录到日志文件中,方便后续分析和故障排查。 总之,Java可以通过JDBC API、数据库连接池框架、监控工具和日志框架等方式来监控MySQL数据库,从而实时获取数据库的状态信息和性能指标,为数据库性能优化和故障排查提供支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值