msyql5.6转到mysql8遇到的坑

我是用在java Web的项目上面的,所以用的是mysql-connect-java-8.0.11版本的jar包。(8.0.12貌似有点问题?)

连接类的与之前有点不同,不然会报找不到类的错误,如下是正确写法:

Class.forName("com.mysql.cj.jdbc.Driver");

然后getconnection的参数也多了一点,首先会报如下错误:

Caused by: java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. 
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

解决方法是在数据库名后面加上serverTimezone=UTC ,如下:

("jdbc:mysql://127.0.0.1/cart?serverTimezone=UTC&characterEncoding=utf-8", "root", "root");

然后如果mysql报了如下警告:

 Establishing SSL connection without server's identity verification is not recommended

说明数据库建立了连接,只是不太安全。我们需要在后面加上一小段代码,最后正确连接如下:

("jdbc:mysql://127.0.0.1/cart?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false", "root", "root")

欢迎访问我的新博客; http://www.xyj123.xyz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值