IntelliJ IDEA连接数据库报错及解决
概述
问题
使用JDBC连接MySQL时出现下面错误:
The server time zone value ‘�й���ʱ��’ is unrecognizedor representsmore than one timezone. You must configure either the server or JDBC driver(via the serverTimezone configuration
原因
发现这是因为安装MySQL的时候时区设置地不正确,MySQL默认的是美国的时区,而我们中国大陆要比他们迟8小时,采用+8:00格式。在你没有指定MySQL驱动版本的情况下它自动依赖的驱动是8.0.12很高的版本,这是由于数据库和系统时区差异所造成的,在JDBC连接的url后面加上 serverTimezone=GMT 即可解决问题,如果需要使用 gmt+8 时区,需要写成 GMT%2B8 ,否则会被解析为空。再一个解决办法就是使用低版本的 MySQL JDBC 驱动,5.1.28 不会存在时区的问题。
解决办法
在连接字符串后面加上 serverTimezone=GMT%2B8
,其中GMT是格林威治平时,也称格林威治时间(它规定太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间为中午12点),完整的连接字符串示例如下:
1 | jdbc:mysql://localhost:3306/db_secondhandtrade?serverTimezone=GMT%2B8 |
如果要解决中文乱码输入问题,则加上useUnicode=true&characterEncoding=utf8
,完整字符串如下:
1 | jdbc:mysql://localhost:3306/db_secondhandtrade?useUnicode=true&characterEncoding=utf8 |
一般都是两者一起使用,完整字符串如下:
1 | jdbc:mysql://localhost:3306/db_secondhandtrade?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8 |
idea连接MySQL界面如下:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论