关于MYSQL80版本的连接问题

当作一次记录

当我重新装了MYSQL80来学习SSM的时候,发现连接的时候出了很多以前低版本MYSQL没有的问题

比如

第一个问题:“Could not create connection to database server - java mysql connector”

这个的出现是因为jar包版本低于mysql80版本

解决办法:改写pom.xml 文件的mysql-connector-java.  

你需要一个高版本的mysq的jar包

然后还要改写mybatis配置文件

<property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&amp;useSSL=false"/>
            <property name="driver" value="com.mysql.cj.jdbc.Driver"/>

比以前的driver名字多了个cj,这是高版本mysql才有的

第二个问题:mysql的时区错误问题: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one

说实话刚看到这个BUG的时候我的心凉了半截,不是,怎么乱码都来了

解决方法:加一个     "?serverTimezone=GMT%2B8"   就可以了。

<property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&amp;useSSL=false"/>
            <property name="driver" value="com.mysql.cj.jdbc.Driver"/>

这样子就解决了时区问题

第三个问题: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=true即可。

但是这里涉及到一个转义字符的关系要加上  &amp;     并且useSSL=false才是解决方法

<property name="url" value="jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&amp;useSSL=false"/>
            <property name="driver" value="com.mysql.cj.jdbc.Driver"/>

 

至此我遇到的三个问题都解决了,我只是记录了一下。

我并没有自己去解决这几个Bug,也是不断得从网上查阅别人的方法然后自己去尝试,把自己尝试对的记录下来。

假设我们都会这么去做记录的话,那我们以后遇到bug查阅起来会非常轻松。

如果这篇文章能帮到你,希望你会对我点个赞。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值