MySql8.0数据库链接报错The driver has not received any packets from the server
1.我使用MySql数据库8.0版本,然后驱动改成了
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/seezoon-framework?useUnicode=true&useSSL=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=GMT%2B8 jdbc.username=root jdbc.password=root
可是结果报错,说是链接数据库超时,我用的数据库连接池是bonecp
<!-- 定义数据源 --> <bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> <!-- 数据库驱动 --> <property name="driverClass" value="${jdbc.driver}" /> <!-- 相应驱动的jdbcUrl --> <property name="jdbcUrl" value="${jdbc.url}" /> <!-- 数据库的用户名 --> <property name="username" value="${jdbc.username}" /> <!-- 数据库的密码 --> <property name="password" value="${jdbc.password}" /> <!-- 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 --> <property name="idleConnectionTestPeriod" value="60" /> <!-- 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 --> <property name="idleMaxAge" value="30" /> <!-- 每个分区最大的连接数 --> <!-- 判断依据:请求并发数 --> <property name="maxConnectionsPerPartition" value="100" /> <!-- 每个分区最小的连接数 --> <property name="minConnectionsPerPartition" value="5" /> </bean>
结果就是不行,后来实在是没办法,我把我的MySql8.0卸载了,安装了一个MySql5.6版本的,然后jdbc.properties改成
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/taotao?useUnicode=true&useSSL=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&serverTimezone=GMT%2B8 jdbc.username=root jdbc.password=root
然后就能启动,并且能成功访问数据了。原来用8.0版本的能正常启动,但是访问不了数据。
难道是数据库版本问题导致,查不到相关的资料,应该是bonecp 这个连接池不支持8.0版本的mysql把,最后也没找到原因,临时办法就是把mysql换成了5.6版本,如果哪位大神了解,可以留言告诉我一下,非常感谢!!!!!!!
不定期会发布一些实用的Java开发文章