我在 MySQL 的 sys 数据库中找不到时区表

Nis*_*ith 2 mysql timezone mysql-5.7

对于我的 Django 应用程序,我必须将时区设置为 UTC,但是我无法设置它,因为我在系统数据库中找不到任何与时区相关的表。

我怎么得到那些?此处https://dev.mysql.com/downloads/timezones.html 中可用的脚本仅与加载表中的数据有关,而与创建它们无关。

  • MySQL 版本:5.7
  • 操作系统:Windows

小智 6

我曾经遇到过和你一样的问题,我按照这些快速步骤解决了它。

请遵循以下:

环境:

  • MySQL 版本:5.7

  • 操作系统:Windows 10(64 位)

脚步:

  • 下载包含预建时区表数据文件的包。你可以在这里下载https://dev.mysql.com/downloads/timezones.html
    • timezone_2018e_posix_sql.zip - MySQL 5.7版的POSIX 标准
  • 解压下载的包,你会得到一个名为timezone_posix.sql的文件
  • 在MySQL的目录中打开命令行。例如:在我的电脑上这是“C:\Program Files\MySQL\MySQL Server 5.7\bin”
  • 运行命令mysql -u root -p以root权限登录MySQL,然后输入密码。
  • 运行命令show databases;查看所有数据库。您将看到一个名为mysql的数据库。需要向mysql数据库中 插入数据
    • 运行命令 use mysql;
  • 最后,您可以通过发出命令插入数据source *path timezone_posix.sql*

插入时区数据后,您可以通过发出以下查询进行测试:

 SELECT CONVERT_TZ('2018-07-02 14:46:46','utc','America/Los_Angeles')
Run Code Online (Sandbox Code Playgroud)

如果结果不为空,你就成功了!!!