Hi TiDB顧問們好,
TiDB版本:v4.0.8
1. Topology.yaml配置timezone可行性?
已看過TiDB文章,TiDB預設時區會設置成System,也就是會跟Linux機器時區一致
目前公司Linux機器預設時區是/Asia/Shanghai,但DB都是預設UTC時區
[dba@dev-tidb-kv3 ~]$ ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 Oct 29 10:28 /etc/localtime -> …/usr/share/zoneinfo/Asia/Shanghai
想請問顧問是否有辦法在topology.yaml設定檔內,配置Timezone相關參數,而不用在建立TiDB後
透過以下指令再後續配置全域timezone為UTC,主要是怕在建置機器後,忘記去做這個動作。
set @@time_zone = ‘UTC’;
2. 由於timestamp有2038年限制,是否在時間類型選用上,選用datetime會比較好?
ex:
CREATE TABLE IF NOT EXISTS market
(
id
BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_RANDOM,
market_id
SMALLINT UNSIGNED NOT NULL,
outcome_type
varchar(20),
created_at
TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at
TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY (market_id
)
);
CREATE TABLE IF NOT EXISTS market
(
id
BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_RANDOM,
market_id
SMALLINT UNSIGNED NOT NULL,
outcome_type
varchar(20),
created_at
DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at
DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY (market_id
)
);
3.是否TiDB不支援透過ALTER TABLE MODIFY COLUMN將原本TIMESTAMP轉為DATETIME?
MySQL [sport]> alter table market
modify column created_at
DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT ‘資料產生時間點’;
ERROR 8200 (HY000): Unsupported modify column: type datetime not match origin timestamp