MySQL8+版本连接问题总结
MySQL8+版本连接问题总结
今天新装了MySQL8.0.17的版本,连接数据库的时候报了错,错误如下
sql.ServerCharset(ConnectionImpl.java:3005)
sql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1916)
sql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1845)
后来查资料发现是MySQL8+版本之后加载驱动从sql.jdbc.Driver变成了sql.cj.jdbc.Driver
于是修改驱动
jdbc.sql.cj.jdbc.Driver
后来⼜出现报错
Error querying database. Cause: java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: ptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near ';characterEncoding=utf-8'.
原因是mysql的驱动更新了,于是我调整了⼀下连接⽅式,指定⼀下时区
在设定时区的时候,如果设定serverTimezone=UTC,会⽐中国时间早8个⼩时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong
先前的url:
mysql下载链接jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false 修改后的url
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-
8&serverTimezone=Asia/Shanghai&useSSL=false
问题解决
useUnicode=true&characterEncoding=UTF-8之间的&如果识别不出来可以使⽤&;转译⼀下(英⽂分号)
后记
现在使⽤MySQL8.0.17版本的时候好像修复了这个问题,运⾏的时候只会给你⼀个提⽰:
Loading class 'sql.jdbc.Driver'. This is deprecated. The new driver class is 'sql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
总之有问题就按照我上⾯说的⽅法修改⼀下,没问题当然最好啦。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。