【问题标题】:mysql is not using the correct timezone in a windows servermysql 没有在 Windows 服务器中使用正确的时区
【发布时间】:2015-07-22 16:47:46
【问题描述】:

我在 windows server 2012 上运行的 MySQL 服务器使用的时区遇到了一个奇怪的问题

我做过的事情:

  1. 在 my.ini 文件中设置默认时区,在这种情况下 default-time-zone=美国/芝加哥
  2. 确保我使用的是实际的 ini 文件
  3. 检查 MySQL 实际使用的 timezone 变量,它说 系统
  4. 将一些时区表加载到 MySQL 数据文件夹中,因为我读过 在 Windows 中,这些表默认不存在
  5. 检查服务器实际时间是否正确设置为UTC-06:00,相同 芝加哥时间
  6. 运行 select now() 语句

列表中的最后一项是给我一个不同的时间,提前五个小时,一件事是当我重新启动服务器一段时间时,时区正确设置为芝加哥时间,但几天后,它又回来了到不正确的,总是提前 5 小时。

我不知道为什么会这样,也许有人可以帮助我解决这个问题,谢谢!

【问题讨论】:

    标签: mysql timezone window-server


    【解决方案1】:

    建立mysql连接后请运行此查询。

    SET SESSION time_zone = 'America/Chicago'
    

    【讨论】:

    • 感谢您的回复,但是每次我启动与服务器的连接时都需要这个?,这现在可以工作,但我想知道为什么要改回来以及如何设置永久时区
    • 您可以从 mysql 配置 mysql.conf 中更改 mysql 服务器时区,请参考此答案stackoverflow.com/a/6019540/1716437,它会将 mysql 服务器时区更改为系统设置,所以如果您的系统位于正确的时区应该没问题
    • 是的,没错,这就是我在列表的第 1 步中所做的,但仍然无法正常工作,我正在阅读一些关于影响时区的日光时间,以及提前五个小时,这意味着 MySQL 正在改变回到UTC时间,有什么想法吗??
    • 在具有超级权限的用户上运行此查询 SET GLOBAL time_zone = 'America/Chicago';
    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多