SpringBoot使用alibaba的druid数据库连接池错误报错_create connection sqlexception errorcode 0, state -程序员宅基地

技术标签: 新人学习过程中问题合集  java  mysql  jdbc  数据库  

新人学习过程中踩坑系列之---SpringBoot使用alibaba的druid数据库连接池错误报错


在用SpringBoot整合Mybatis使用alibaba的druid数据库连接池时,编译运行都没问题,当登录页面表单提交与数据库交互时,出现了如下的错误和异常:

2020-07-20 12:19:38.312 ERROR 2824 --- [eate-2093004534] com.alibaba.druid.pool.DruidDataSource   : create connection SQLException, url: jdbc:mysql://localhost:3306/emp?characterEncoding=UTF-8, errorCode 0, state 01S00

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.
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1596) ~[druid-1.1.19.jar:1.1.19]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1662) ~[druid-1.1.19.jar:1.1.19]
	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2697) ~[druid-1.1.19.jar:1.1.19]
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: 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.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_152]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_152]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_152]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_152]
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2118) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2142) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1310) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:967) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826) ~[mysql-connector-java-8.0.19.jar:8.0.19]
	... 6 common frames omitted

然后参考大佬的解决方案,applicaition配置文件spring.datasource.url的最后面加&serverTimezone=GMT就解决了。
在这里插入图片描述
PS:Spring Boot 2.0以后的项目最好用如下mysql的driver和url配置,否则会报错。

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/xxx?serverTimezone=GMT%2B8
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_47188091/article/details/107460916

智能推荐

benchmarksql测试mysql_使用benchmarkSQL测试数据库的TPCC-程序员宅基地

文章浏览阅读789次。压力测试是指在MySQL上线前,需要进行大量的压力测试,从而达到交付的标准。压力测试不仅可以测试MySQL服务的稳定性,还可以测试出MySQL和系统的瓶颈。TPCC测试:Transaction Processing Performance Council,要熟练使用TPC是一系列事务处理和数据库基准测试的规范。其中TPC-C是针对OLTP的基准测试模型,一方面可以衡量数据库的性能,另一方面可以衡量..._benchmarksql 无法生成超过内存大小的数据量

Python 入门学习 详细知识点+典型例题 /自学笔记(三)_<class 'str'> traceback (most recent call last):-程序员宅基地

文章浏览阅读412次。一.函数1.创建和调用函数2.函数的参数2.1位置参数2.2关键字参数2.3默认参数2.4收集参数 在形参前加 * 2.5解包参数(在实参上使用)3.作用域4.嵌套函数5.闭包6.装饰器7.lambda表达式8.生成器(不走回头路,支持使用next,不支持下标索引)9.递归(函数调用自身的过程)10.函数文档, 类型注释,内省11.高阶函数二.永久存储1.操作文件2.路径处理3.异常tr..._ traceback (most recent call last):

wx 微信小程序腾讯JavaScript SDK的使用_微信小程序javascript sdk / 开发指南 / 路线规划使用方式-程序员宅基地

文章浏览阅读1.8k次。1.官网地址腾讯地图2.点击开发文档3.申请腾讯key4.下载上图第三条的链接 放到你的小程序下5.然后引入qqmap-wx-jssdk.js到需要使用的js页面里6.实例化API核心类// 引入SDK核心类var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');var qqmapsdk;Page({..._微信小程序javascript sdk / 开发指南 / 路线规划使用方式

linux3.0内核usb驱动,Linux内核USB从设备驱动程序-程序员宅基地

文章浏览阅读219次。驱动程序原理介绍USB大存储设备(Mass Storage)是以文件为单位进行存储的从设备(Gadget)。在主设备主机(任何操作系统)上它以U盘的形式出现,在有Linux操作系统的从设备主机上,它以Gadget驱动程序形式出现,实现从设备与主设备的通信。Gadget Mass Storage是USB设备的一个典型的Gadget驱动程序使用例子,它说明了能适应不断增大的吞吐量的双缓存区技术,给出了..._linux 系统 usbdrv3.0_x64

Android WebView实现全屏播放视频_webview播放视频-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏5次。Android WebView实现全屏播放视频_webview播放视频

FFmepg 多线程解码历程 - 2 :avcodec_decode_video2_avcodec_encode_video2强制i帧后恢复不了p帧-程序员宅基地

文章浏览阅读6.5k次。//解码函数int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr,_avcodec_encode_video2强制i帧后恢复不了p帧

随便推点

java技术--缓存机制之EHCache(基于hibernate的默认缓存实现方式)_org.hibernate.cache.ehcacheprovider-程序员宅基地

文章浏览阅读336次。hibernate缓存:一级缓存,二级缓存(https://mp.csdn.net/mdeditor)1.一级缓存:即session级别的缓存,亦即事务级别的缓存策略,这种缓存策略是Hibernate内置的,不可被拆卸的2.二级缓存:即SessionFactory的外置缓存,其同时也称为进程级缓存或集群范围内的缓存。hibernate的二级缓存是需要第三方支持的,hibernate默认的二级..._org.hibernate.cache.ehcacheprovider

理解DALL·E 2, Stable Diffusion和 Midjourney工作原理_dall2-程序员宅基地

文章浏览阅读7.2k次,点赞5次,收藏30次。作者 | Arham Islam编译 | 岳扬在过去的几年里,人工智能(AI)取得了极大的进展,而AI的新产品中有AI图像生成器。这是一种能够将输入的语句转换为图像的工具。文本转图像的AI工具有许多,但最突出的就属DALL-E 2、Stable Diffusion和Midjourney了。DALL-E 2由OpenAI开发,它通过一段文本描述生成图像。其使用超过100亿个参数训练的GPT-3转化器模型,能够解释自然语言输入并生成相应的图像。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传_dall2

RK3399平台开发系列讲解(系统篇)1.20、 Android 9.0 下中科微 GNSS HAL 的移植过程_rk gps 中科微-程序员宅基地

文章浏览阅读3.7k次,点赞17次,收藏19次。如何在 Linux 系统中结束结束进程或是中止程序 在 Linux 中有几种使用命令行或图形界面终止一个程序的方式。进程出错的时候,您可能会想要中止或是杀掉这个进程。在本文中,我们将探索在命令行和图形界面中终止进程或是应用程序,这里我们使用 gedit 作为样例程序。使用命令行或字符终端界面Ctrl + C在命令行中调用 gedit (如果您没有使用 gedi..._rk gps 中科微

【IOS】AFNetworking 2.0中XML请求处理专题_af response xml-程序员宅基地

文章浏览阅读3k次。因为AFNetworking2.0中,对于响应返回的xml格式没有做专门的解析处理,因此需要开发者自己来做处理。在笔者的项目中,使用了一个叫AFGDataXMLRequestOperation的第三方类库来统一处理。_af response xml

查找匹配子集与子集和(Subset Sum Problem)--动态规划实现-程序员宅基地

文章浏览阅读4.6k次。问题和实现引自资料:https://en.wikipedia.org/wiki/Subset_sum_problem介绍子集和问题(英语:Subset sum problem),又称子集合加总问题,是计算复杂度理论和密码学中一个很重要的问题。问题可以描述为:给一个整数集合,问是否存在某个非空子集,使得子集内中的数字和为0。例:给定集合{−7, −3, −2, 5, 8},答案是..._subset sum problem

mac环境brew安装nginx-程序员宅基地

文章浏览阅读2.5k次。以下是安装完成之后打印出来的提示信息Docroot is: /usr/local/var/wwwThe default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so thatnginx can run without sudo.nginx will load all files in /usr/loca..._brew安装nginx

推荐文章

热门文章

相关标签