今天主要针对mysql时区这方面做一个总结,这里介绍两个参数:system_time_zone和time_zone。
01全局参数system_time_zone
系统时区,在MySQL启动时会检查当前系统的时区并根据系统时区设置全局参数system_time_zone的值。
The system time zone. When the server starts, it attempts to determine the time zone of the host machine automatically and uses it to set thesystem_time_zone system variable. The value does not change thereafter.
02全局参数time_zone
用来设置每个连接会话的时区,默认为system时,使用全局参数system_time_zone的值。
The current time zone. This variable is used to initialize the time zone for each client that connects. By default, the initial value of this is 'SYSTEM' (which means, “use the value of system_time_zone”).
03参数log_timestamps
用于设置Error Log/Genaral Log/Slow Log这三种日志的时间信息。
有效值为UTC(默认)和SYSTEM(本地系统时区),当设置为system时,会使用参数system_time_zone的值。
04修改参数time_zone
# 启动命令 --default-time-zone=timezone # 配置文件 default-time-zone=timezone # 运行期间 set global time_zone=' 8:00';
查看操作系统时区
#使用date命令 date "%Z %z" date -R ## 使用timedatectl timedatectl|grep "Timezone" ## 查看文件 /etc/timezone cat /etc/timezone
ps:如果无法修改操作系统时区,又希望数据库使用其他时区,则可以使用参数time_zone来修改。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
,