【坑】mysql 8.0以后的驱动 jar、连接池的变化


前言

博主公司刚配置了新电脑,安装开发环境的时候,美滋滋的将开发工具都装了新版本,结果在使用 mysql 的时候,发现一直链接数据库失败;

大家都知道需要导入 com.mysql.jdbc.Driver 的驱动包;

但是假如你第一次使用高版本的 mysql 你会发现,你就会跟博主一样,始终连接不到数据库,总是提示连接失败;


com.mysql.cj.jdbc.Driver

mysql 8.0 以后,java 的驱动包发生了变化,从 com.mysql.jdbc.Driver 变为 com.mysql.cj.jdbc.Driver

配置如下:

		<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql:///cms?charset=utf-8&amp;useSSL=false&amp;serverTimezone=GMT%2B8&amp;allowPublicKeyRetrieval=true"/>
        <property name="username" value="****"/>
        <property name="password" value="****"/>

重点关注 url 的配置:

 <property name="url" value="jdbc:mysql:///cms?charset=utf-8&amp;useSSL=false&amp;serverTimezone=GMT%2B8&amp;allowPublicKeyRetrieval=true"/>

里面配置了一个时区,com.mysql.cj.jdbc.Driver 需要这个时区 ;

还有一个连接池的问题,也配置了进去,否则会报 ${jdbc.driver}Cannot create PoolableConnectionFactory (Public Key Retrieval is not allowed)] 错误;


后记

没事还是不要使用新版本,除非你真的看过官网的介绍 ,有点小坑;

原文地址:https://www.cnblogs.com/young-youth/p/11665608.html