3月不仅是月当大流行关闭所有边界和人待在家里检疫;也是这个月当夏令时会发生变化。在一些地区,这不仅是一次改变,但是也是一个切换到一个不同的时区。例如,纽约使用美国东部时间在冬天,美国东部时间在夏天。如果你使用这个系统时区,不重新启动MySQL服务器或PXC节点开关后,您可能会注意到,这种改变不是实现的。
你可以得到你的一些情况集群节点仍在使用前的时区开关(例如美国东部时间)和其他人使用时区后改变(例如美国)。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
|
美元
日期
太阳3月803:03:28美国东部时间2020年
美元。/本
/mysql-h127.0.0.1-P3373-uroot测试
…
美国东部时间节点>
显示
变量
就像
%带%的;
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
|Variable_name|
价值
|
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
|system_time_zone|美国东部时间|
|time_zone|系统|
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
2
行
在
集
(0.00sec)
美元。/本
/mysql-h127.0.0.1-P3372-uroot测试
…
美国东部时间节点>
显示
变量
就像
%带%的;
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
|Variable_name|
价值
|
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
|system_time_zone|美国东部时间|
|time_zone|系统|
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
2
行
在
集
(0.00sec)
|
你应该担心吗?
不!
MySQL发起system_time_zone变量时开始。即使变量包含停滞的数据,所有的计算都是正确地执行已经使用新的时区和时间值。
为了说明这一点,让我们来看一个简单的表持有时间戳值:
|
1
2
3
4
5
|
创建
表
”
t1
”
(
”
id
”
int
(
11
)
不
零
AUTO_INCREMENT
,
”
ts
”
时间戳
不
零
默认的
CURRENT_TIMESTAMP
在
更新
CURRENT_TIMESTAMP
,
主
关键
(
”
id
”
)
)
引擎
=
InnoDB
|
首先,让我们检查现有数据;不论是相同的值system_time_zone变量使用的节点:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
美国东部时间
节点
>
选择
*
从
t1
;
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
id
|
ts
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
2
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
53
|
|
4
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
54
|
|
6
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
55
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
3
行
在
集
(
0.00
证券交易委员会
)
美国东部时间
节点
>
选择
*
从
t1
;
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
id
|
ts
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
2
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
53
|
|
4
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
54
|
|
6
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
55
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
3
行
在
集
(
0.00
证券交易委员会
)
|
如果我们添加一个新行,有效时间戳将插入两个节点:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
|
美国东部时间
节点
>
插入
成
t1
值
(
)
;
查询
好吧
,
1
行
影响
(
0.01
证券交易委员会
)
美国东部时间
节点
>
选择
*
从
t1
;
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
id
|
ts
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
2
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
53
|
|
4
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
54
|
|
6
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
55
|
|
8
|
2020年
- - - - - -
03
- - - - - -
08年
03
:
02
:
22
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
4
行
在
集
(
0.00
证券交易委员会
)
美国东部时间
节点
>
选择
*
从
t1
;
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
id
|
ts
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
2
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
53
|
|
4
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
54
|
|
6
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
55
|
|
8
|
2020年
- - - - - -
03
- - - - - -
08年
03
:
02
:
22
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
4
行
在
集
(
0.00
证券交易委员会
)
|
如您所见,行,插入的节点上,开始前的时区的改变,对两个节点有相同的值。
同样的如果我们插入一个新行节点,后开始时间变化:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
26
|
美国东部时间
节点
>
插入
成
t1
值
(
)
;
查询
好吧
,
1
行
影响
(
0.01
证券交易委员会
)
美国东部时间
节点
>
选择
*
从
t1
;
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
id
|
ts
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
2
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
53
|
|
4
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
54
|
|
6
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
55
|
|
8
|
2020年
- - - - - -
03
- - - - - -
08年
03
:
02
:
22
|
|
9
|
2020年
- - - - - -
03
- - - - - -
08年
03
:
02
:
32
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
5
行
在
集
(
0.00
证券交易委员会
)
美国东部时间
节点
>
选择
*
从
t1
;
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
id
|
ts
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
|
2
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
53
|
|
4
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
54
|
|
6
|
2020年
- - - - - -
03
- - - - - -
08年
01
:
03
:
55
|
|
8
|
2020年
- - - - - -
03
- - - - - -
08年
03
:
02
:
22
|
|
9
|
2020年
- - - - - -
03
- - - - - -
08年
03
:
02
:
32
|
+
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
5
行
在
集
(
0.00
证券交易委员会
)
|
结论
如果你使用time_zone=系统,你可能会注意到的价值system_time_zone变量是过时的夏令时后发生变化。但是你不应该担心,因为所有的计算将使用更新后的时间。





