栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Spring Boot配置中设置正确的MySQL JDBC时区

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Spring Boot配置中设置正确的MySQL JDBC时区

感谢您的回答,但我找到了解决方案。

正如我怀疑的那样,Hikari会忽略您在数据源URL中输入的任何内容(对不起,伙计们,您在其中插入的内容无关紧要),从本质上讲,它会从MySQL本身读取时区设置,即发出时看到的结果命令

SELECT @@GLOBAL.time_zone;

在MySQL中。在我的情况下,结果是“ SYSTEM”,即它设置的本地计算机的大小。这是AEDT,MySQL驱动程序不支持,因此是我的例外。

在AWS中运行相同的查询会产生值“ UTC”,该值受支持(实际上是我想要的)。

因此,我必须在本地MySQL服务器中设置时区。

首先,我必须将主机(Mac OS X)的可用时区加载到MySQL中。我必须找出zoneinfo文件在哪里(在我的情况下是/ usr / share /
zoneinfo),然后找出mysql_tzinfo_to_sql实用程序在哪里(MySQL安装的bin目录),并使用它来加载本地计算机支持的时区。在Mac
OS X中,我最终运行了以下命令:

/usr/local/mysql/bin/mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root-p mysql

然后在MySQL中,我可以运行命令

SET GLOBAL time_zone = UTC;

一个有效的时区,并且与基于云的实例同步。

我认为对于许多将Spring
Boot与MySQL结合使用的人来说,这是一个真正的陷阱。当人们处于受支持的时区时,它可以工作,但是如果您的开发机器应切换到不受支持的时区,它将神秘地中断,我很惊讶它没有在任何地方记录。MySQL
Connector / J的源代码使它显而易见,但否则您将一无所知。

也许是因为MySQL才5年前,而我是一个古老的化石,而且,好吧,就从我的草坪上走下来吧!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号