首页 > 数据库 >解决MySQL设置时区时的错误Unknown or incorrect time zone: 'Asia/Shanghai'

解决MySQL设置时区时的错误Unknown or incorrect time zone: 'Asia/Shanghai'

时间:2024-01-29 16:25:57浏览次数:29  
标签:incorrect zone mysql Shanghai Asia sql MySQL

问题描述:

在trino中配置了mysql.properties文件,但是通过trino客户端,执行命令show schemas from mysql ;查看数据库信息时报错:Error listing schemas for catalog mysql: java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

 查看Trino的日志server.log,从中看到有报错:Unknown or incorrect time zone: 'Asia/Shanghai' 

问题原因:

MySQL默认时区格式是'+8:00'的格式,这个时区可以在my.ini中[mysqld]节点下设置

default-time-zone = '+8:00'

默认这个设置是没有的

但是MySQL不支持'Asia/Shanghai'这种时区格式

执行下面sql语句是报错的

SET GLOBAL time_zone = 'Asia/Shanghai'

解决方法:

https://dev.mysql.com/downloads/timezones.html下载时区文件,官网说适合8.0以上版本,但是我的MySQL版本为5.7。

 

解压后得到一个sql文件,查看下sql文件内容,可以看到里面清空了4张系统表,然后重新插入了数据。

 (1)由于表中执行了Truncate系统表的语句,如果生产环境担心出问题,可以将这四张表的数据导出备份。

      导出备份,这里省略。

(2)登录MySQL,执行sql文件。

mysql -u root -p密码
use mysql;
source timezone_posix.sql路径

(3)这时再设置时区,发现执行成功了。

SET GLOBAL time_zone = 'Asia/Shanghai';

 

 

标签:incorrect,zone,mysql,Shanghai,Asia,sql,MySQL
From: https://www.cnblogs.com/yeyuzhuanjia/p/17994761

相关文章

  • Android系统开发之TimeZoneDetectorService浅析--下
    TimeZoneDetectorService类图可以看出TimeZoneDetectorService类,其具体实现是由TimeZoneDetectorStrategy类完成的。在TimeZoneDetectorService类中,三种更新时区的接口分别为:suggestGeolocationTimeZone()//更新时区主要有三种方式,这是Geolocation方式+booleansuggestManualT......
  • mysql连接报错:The server time zone value '�й���׼ʱ��'
    java.sql.SQLException:Theservertimezonevalue'�й���׼ʱ��'isunrecognizedorrepresentsmorethanonetimezone.YoumustconfigureeithertheserverorJDBCdriver(viatheserverTimezoneconfigurationproperty)touseamorespecifctimez......
  • TimeZoneDetectorService浅析--上
    一:问题描述:客户有一个关闭通话功能的需求,根据MTK的配置方法关闭了大概8个宏开关后,实现通话功能,但是导致插好sim卡开机后,时间和时区不能更新的问题。二:问题分析:(1).MTK的日志分析,可以确认为时间已经更新,但是时区确实是没有更新//收到NITZAT:[0]AT<+CTZEU:"+32",0,"2024/01......
  • java.util.zip.DataFormatException: incorrect header check
    C#保存的数据都是使用以下的压缩算法保存publicstaticbyte[]Zip2(byte[]content){using(System.IO.MemoryStreamms=newSystem.IO.MemoryStream())using(DeflateStreamstream=newDeflateStream(ms,CompressionMode.Co......
  • AT_zone2021 部分
    前言教练出了个集训赛,就是AT_zone2021vp,赛时没切E,赛后也不想做E,所以不写。ZONe_a用substr拆出来,然后检查是不是ZONe。Code#include<bits/stdc++.h>usingnamespacestd;intmain(){ strings; cin>>s; intans=0; for(inti=0;i<s.size()-4;i++)if(s.substr(......
  • insert into select 遇到的一个坑 Truncated incorrect DOUBLE value
    INSERTINTOa(aax,aaz)(SELECTaax,aazFROMbWHERExIN(1,2,3));类似一个这种数据迁移的sql如果用了where条件请在条件上完全遵从数据格式如果偷懒直接输入数字类型的1,2,3的话就会报错runcatedincorrectDOUBLEvalue......
  • 【转载】内存基本概念-node, zone ,page
    1.Linux描述物理内存在linux内存管理(一)中介绍了UMA和NUMA,Linux通过巧妙办法把UMA和NUMA的差别隐藏了起来,所谓的UMA其实就是只有一个结点的NUMA。内存的每个结点关联到系统中的一个处理器内存控制器,每个服务器处理器可以有多个内存控制器,所以每个服务器处理器可以有多个内存结......
  • TimeZone
    概述<code>TimeZone</code>representsatimezoneoffset,andalsofiguresoutdaylightsavings.Typically,yougeta<code>TimeZone</code>using<code>getDefault</code>whichcreatesa<code>TimeZone</code>b......
  • LocalDateTime ZoneId 北京时间转巴西时间与实际相差1小时-已解决
    巴西圣保罗标准时间UTC-3北京时间UTC+8 两者相差11小时,即北京时间比巴西快11小时,例如:北京时间15:00:00, 巴西应该为04:00:00但是!!,本地验证巴西时间05:00:00,那么少了一个小时去哪里了呢?捣鼓了很多配置,无效,同事代码跑的就是04:00:00,相同的代码不同的结果,为何呢?环境问题:......
  • Timezone - 0001-01-01 00:00:00 UTC
    将一时间戳字段默认值设为0001-01-0100:00:00UTC,在timezone为东8区的数据库中字段值显示为:0001-01-0108:05:43+08:05:43 Google后找到如下解释:0001-01-0100:00:00 UTC.Andthatisindeed0001-01-0108:05:43inyourlocaltimezone(whateverthatmaybe,probably......