错误原因:
1、Establishing SSL connection without server‘s identity verification is not recommende
意思就是
不建议在没有服务器身份验证的情况下建立SSL连接,根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果没有设置显式选项,则必须默认建立SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性被设置为“false”。您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。
不建议在没有服务器身份验证的情况下建立SSL连接,只是不建议,如果你执意这么做的话呢,当然可以无视,那么如果你接受了人家的建议,该怎么解决这个问题呢?很简单,在你连接数据库的url后面加上参数即可,例如:
jdbc:mysql://localhost:3306/test?useSSL=false
2、com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to
原因:mysql数据库连接的包导入版本过低
解决办法:更新jar包
3、com.mysql.jdbc.Driver驱动程序类被弃用
加载类“com.mysql.jdbc.Driver”。这已被弃用。新的驱动程序类是`com.mysql.cj.jdbc.Driver'。
4、 java.sql.SQLException中:服务器时区值'??? EE×??±??' 。无法识别或代表多个时区如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值。
解决:
这是由于数据库和系统时区差异所造成的,在JDBC连接的URL后面加上serverTimezone = GMT即可解决问题,如果需要使用GMT + 8时区,需要写成GMT%2B8,否则会被解析为空。再一个解决办法就是使用低版本的MySQL jdbc驱动,
jdbc:mysql://localhost:3306/test?useUnicode = true&characterEncoding = utf-8&useSSL = false&serverTimezone = GMT