使MySQL 8.5支持“Asia/Shanghai”格式时区配置

默认情况下,MySQL不支持设置“Asia/Shanghai”格式时区信息,如根据数据记录的时区信息去转换时间时,会发生意想不到的空。

“表达式1”会返回正常的时间转换结果:

-- 表达式1
SELECT
CONVERT_TZ('2024-08-01 11:04:04', '+00:00', '+08:00');

“表达式2”会返回NULL:

-- 表达式2
SELECT CONVERT_TZ('2024-08-01 11:04:04', '+00:00', 'Asia/Shanghai');

这是因为默认在Community版本中并未提供时区信息。

 

解决步骤:

  1. 官网下载时区数据文件。
    地址:MySQL :: Time zone description tables
    下载POSIX standard版本即可。

  2. 解压下载到的文件,得到“timezone_posix.sql”数据文件。

  3. root连接并打开数据库“mysql”,远程客户端也是可以的。执行上述“timezone_posix.sql”文件,等待完成即可。

Here it is:

     

 

By Lionden.

 

参考:解决mysql设置时区时的错误Unknown or incorrect time zone: 'Asia/Shanghai' - teagueli - 博客园 (cnblogs.com)

posted on 2024-08-01 12:11  LIONDEN  阅读(172)  评论(0编辑  收藏  举报

导航