Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Mar 2021 09:05:32 -0700
From:      Bruce Ferrell <bferrell@baywinds.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: mysql time-zone ambiguity?
Message-ID:  <bfc8b528-8af0-2d13-7294-0095549ffd25@baywinds.org>
In-Reply-To: <dba947d1-c5bd-b732-55da-4651d9297dff@dreamchaser.org>
References:  <dba947d1-c5bd-b732-55da-4651d9297dff@dreamchaser.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 3/26/21 8:29 AM, Gary Aitken wrote:
> mysql57-server installed;  When testing a jdbc connection I get:
>
> The server time zone value 'MDT' 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 specific time zone value if you want to utilize time zone support.
>
> A diff says that /usr/share/zoneinfo/America/Denver is the same as /etc/localtime.
>
> And the mysql time by default is set to 'SYSTEM':
>
> garya@localhost [(none)]> select @@GLOBAL.time_zone, @@SESSION.time_zone;
> +--------------------+---------------------+
> | @@GLOBAL.time_zone | @@SESSION.time_zone |
> +--------------------+---------------------+
> | SYSTEM             | SYSTEM              |
> +--------------------+---------------------+
> 1 row in set (0.00 sec)
>
> on 11.4-RELEASE
>
> Feels like the system is reporting the timezone as MDT and mysql wants something
> like MDT/Denver?  I thought MDT was unique; Arizona is different.
> Seems like this should default properly; ideas for what I have screwed up?
> Also running ntpd if that matters.
>
> Gary
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"

Gary,


Your error is from JDBC/java.

if you enter "date" at the cli, you'll see the timezone your system is set for.

%: date

Fri Mar 26 08:49:13 PDT 2021

"Technically"  all timezones are just an offset from UTC, and US/Mountain is a label that points to that offset in the zone info files.

 From the mysql documents:

/|timezone|/ values can be given in several formats, none of which are case-sensitive:

  *

    As the value |'SYSTEM'|, indicating that the server time zone is the same as the system time zone.

  *

    As a string indicating an offset from UTC of the form |[/|H|/]/|H|/:/|MM|/|, prefixed with a |+| or |-|, such as |'+10:00'|, |'-6:00'|, or |'+05:30'|. A leading zero can
    optionally be used for hours values less than 10; MySQL prepends a leading zero when storing and retriving the value in such cases. MySQL converts |'-00:00'| or |'-0:00'| to
    |'+00:00'|.

        mysql timezones are expressed as that offset and the labels come from a timezone table that is not populated by default.

        Named time zones can be used only if the time zone information tables in the |mysql| database have been created and populated. Otherwise, use of a named time zone results 
in an error:

There is a cli command that is usually part of the mysql distribution, *mysql_tzinfo_to_sql* <https://dev.mysql.com/doc/refman/8.0/en/mysql-tzinfo-to-sql.html>; that converts the 
system zone information files to sql for loading into the time zone tables

ex:

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

the mysql server timezeone setting is usually set in the /etc/my.cnf file, expressed as that offset:

|default-time-zone='/timezone/'|

||
||

||





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bfc8b528-8af0-2d13-7294-0095549ffd25>