BruceOuyang / issuelist

用于记录日常碰到的各种问题和经验总结 (请看Issues)
4 stars 2 forks source link

metabase 设置时区 ‘Asia/Hong_Kong’ 异常:Mysql Unknown or incorrect time zone:'Asia/Hong_Kong' #88

Open BruceOuyang opened 2 years ago

BruceOuyang commented 2 years ago

Metabase 时区异常

时间字段在Metabase显示的时区,受Metabase本身配置时区、JVM时区和集成数据源时区影响。

任何一个地方配置不对,或者三个地方配置的不一致都会导致时间字段显示和配置时区不符。

应用一下

source /etc/profile


* 3)设置数据源时区,以 mysql 为例

查看当前时区设置

show global variables like '%time_zone%';

设置

set global time_zone='Asia/Hong_Kong';


### Mysql Unknown or incorrect time zone:'Asia/Hong_Kong'
mysql 时区信息是存储在 mysql 库的 `time_zone_name` 表里。

若  `time_zone_name` 没有数据,可自动生成一些系统支持的时区

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

BruceOuyang commented 1 year ago

Metabase 设置日志格式

在 /..../metabase/config 目录中创建 log4j.xml 并输入如下内容

<Configuration>
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT" follow="true">
      <PatternLayout pattern="%date %level %logger{2} :: %message%n%throwable">
        <replace regex=":basic-auth \\[.*\\]" replacement=":basic-auth [redacted]"/>
      </PatternLayout>
    </Console>
  </Appenders>

  <Loggers>
    <Logger name="metabase" level="INFO"/>
    <Logger name="metabase-enterprise" level="INFO"/>
    <Logger name="metabase.plugins" level="DEBUG"/>
    <Logger name="metabase.server.middleware" level="DEBUG"/>
    <Logger name="metabase.query-processor.async" level="DEBUG"/>
    <Logger name="com.mchange" level="ERROR"/>
    <Logger name="liquibase" level="ERROR"/>
    <Logger name="clojure.tools" level="ERROR"/>

    <Root level="WARN">
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>