当前位置: 首页 > 知识库问答 >
问题:

无法识别服务器时区值“CEST”

宰坚
2023-03-14

我正在使用hibernate(Hibernate Maven5.2.15.Final, Mysql-连接器Maven 8.0.9-rc)whith mysql 5.7在linux上的lampp环境所以。

我在意大利(中欧夏季时间),3月25日,连接数据库出现以下错误:

服务器时区值“CEST”无法识别或表示多个时区。如果要利用时区支持,必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更特定的时区值。

在mysql控制台上,我运行了:

SHOW GLOBAL VARIABLES LIKE 'time_zone';
SET GLOBAL time_zone='Europe/Rome'; 

但这种情况并未持续。

然后我添加到<code>我的。cnf文件(在/etc/mysql中):

[mysqld] 
default-time-zone = 'Europe/Rome' 

并且还:

default_time_zone = 'Europe/Rome' 

但是数据库服务器仍然没有启动。。。

为什么会发生错误?有人可以帮助我吗?

谢谢你!

共有3个答案

熊烨
2023-03-14

首先查看您的 mysql 服务器时区:
mysql -e “SELECT @@global.time_zone;” -u

#cd /usr/share/zoneinfo
#ls -l
#rm /etc/localtime
#ln -s /usr/share/zoneinfo/UTC /etc/localtime

然后重新启动mysql服务器:<code>/etc/init。d/mysqld重新启动

享受

柴衡
2023-03-14

如果问题是连接到db时,我在这个答案的注释中找到了解决方案。

在连接 URL 中,请使用以下命令:

String url = "jdbc:mysql://localhost/mydb?serverTimezone=Europe/Rome";

这让我能够连接到flyway和时区欧洲/阿姆斯特丹。

匡安宜
2023-03-14

@艾曼的回答不正确,因为在您的情况下,有效的服务器时区不是UTC。

您可以在网上找到一些解决方案,包括jdbc连接字符串上的其他参数,但在某些情况下您无法更改此字符串。

我是这样解决的:

首先在mysql中导入系统时区:

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

然后在 /etc/mysql/my.cnf[mysqld] 部分中(或在最近的 Debian/Ubuntu 发行版上设置 /etc/mysql/mysql.conf.d/mysqld.cnf)的默认 mysql 服务器时区)到您的实际服务器时区,例如:

default_time_zone = Europe/Paris

不要忘记重新启动mysql

$ sudo service mysql restart

(或根据您的发行版使用适当的命令)。

 类似资料:
  • 我正在运行一个MySQL客户端实用程序,并收到这个众所周知的错误: 服务器时区值“KST”无法识别或表示多个时区。如果要利用时区支持,必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更特定的时区值。 从官方Ubuntu库(mysql Ver 14.14 Distrib 5.7.26)安装了数据库引擎的现成Ubuntu 2019.04。 如何修复它? 附加 不返回任

  • 问题内容: 我试图设置一个简单的hibernate应用程序,当我运行它时,我得到了一个充满错误的堆栈跟踪信息。 我的文件中具有以下Maven依赖项: 我在本地运行的mysql版本是: 我正在运行,看来,这是一种非常简单的方法,仍然出现错误: 执行完上面的命令后,我得到了很长的堆栈跟踪信息… System.out.println也不打印…因此连接似乎没有建立连接。 我在这里关注此错误: 服务器时区值

  • 当尝试连接到我网站上的mySQL时,我会收到以下消息: 服务器时区值“cdt”无法识别或表示多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更指定的时区值。 我试过用

  • 我试图设置一个简单的hibernate应用程序,当我运行它时,我得到了一个堆栈跟踪,其中充满了错误。 打印出时区(system.out.println(Timezone.getdefault());)打印以下详细信息: sun.util.calendar.zoneInfo[id=“澳大利亚/墨尔本”,offset=36000000,dstsavings=3600000,usedaylight=tr

  • 我正在尝试使用mySQL connector Java 8.0.17创建到MySQL8.0的连接,但以下错误阻止了它: java.sql.sqlexception:服务器时区值“GMT Summer time”无法识别或表示多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更指定的时区值。 我在UTC时区看到过类似的错误,但在GMT时

  • 环境 Windows 10 国家预防机制5.5.1 编译“com.android.support:appcompat-v7:26.0.2” 我已经运行了npm start--reset-cache和react-native start--reset-cache,但仍然无法识别JS服务器,继续构建。这样可以防止打包程序在我的模拟器上运行之前捆绑资产。 我在这篇文章中遵循了解决方案1: 以下是我正在经