【问题标题】:java.sql.SQLException: The server time zone value 'ora legale Europa occidentale' is unrecognizedjava.sql.SQLException:无法识别服务器时区值“ora legale Europa occidentale”
【发布时间】:2019-04-18 13:40:29
【问题描述】:

我在 Spring 中与数据库的连接有问题。 我的数据库名称是noteb。 我使用 xampp 和 phpmyadmin 作为数据库

This is my application.properties

这是错误

java.sql.SQLException: The server time zone value 'ora legale Europa occidentale' 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.15.jar:8.0.15]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) ~[mysql-connector-java-8.0.15.jar:8.0.15]
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) ~[mysql-connector-java-8.0.15.jar:8.0.15]`

【问题讨论】:

    标签: java mysql spring spring-boot spring-data-jpa


    【解决方案1】:

    您可以通过在属性的 URL 中添加时区来解决问题。 这将强制 SQL 不在系统时区中搜索。

    spring.datasource.url=jdbc:mysql://localhost:3306/{your_instance}?serverTimezone=UTC
    

    【讨论】:

      【解决方案2】:

      此问题特定于 Windows 及其意大利语翻译。

      如何解决:

      首先我们需要加载MySQL Server Time Zone Support 指定的时区表 这样做:

      • MySQL time table download下载最新的posix zip文件:timezone_2019c_posix_sql
      • 直接在 C:\ 中提取它以获得简单的路径
      • 启动 MySQL 命令行客户端
      • 从命令行客户端执行以下命令:
        mysql&gt; use mysql;
        mysql&gt; source c:\timezone_posix.sql;
      • 从 Workbench 执行以下查询:
        SET GLOBAL time_zone = 'Europe/Rome';

      有关此问题的更多信息,您可以参考:

      https://github.com/TdP-2019/materiale/blob/master/faq/timezone.md(意大利语)

      【讨论】:

        猜你喜欢
        • 2019-02-26
        • 2018-09-06
        • 2021-07-24
        • 2020-04-16
        • 2019-12-04
        • 2016-10-09
        • 1970-01-01
        • 1970-01-01
        • 2020-03-05
        相关资源
        最近更新 更多