使用MySQL时,总会时不时出现这种警告信息
警告信息:WARN: Establishing SSL connection without server's identity verification is not recommended.
出现这个警告的原因是:
MySQL在高版本需要指明是否进行SSL连接。
比如我的MySQL版本为5.7,如果是5.5就不会存在这样的问题了。
如何解决这个警告信息呢?
比如我的mysql配置是这样的:
validationQuery=SELECT 1 jdbc_url=jdbc:mysql://localhost:3306/test jdbc_username=root jdbc_password=1234
将其改为
validationQuery=SELECT 1
jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc_username=root
jdbc_password=1234
主要是将useSSL改为false即可。
关于validationQuery,这里稍微说下。
DBCP针对不同数据库的validationQuery
当你使用DBCP连接池时,你可以通过设置testOnBorrow和testOnReturn属性测试这个连接是否可用。不幸的是你还需要设置validationQuery才能起作用。那么问题来了如何设置validationQuery这个值呢
什么是validationQuery ?
validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句。每种数据库都有各自的验证语句,下表中收集了几种常见数据库的validationQuery。
Druid连接池同样也可以使用这样。记得,我第一个接触这个的时候,是在使用MyBatis Plus的时候,不然平常如果是MySQL的驱动根本不会select 1这种写法,而是
这样写:
validationQuery=com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false jdbc_username=root jdbc_password=1234