概述
今天主要针对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## 使用timedatectltimedatectl|grep "Timezone"## 查看文件 /etc/timezonecat /etc/timezone
ps:如果无法修改操作系统时区,又希望数据库使用其他时区,则可以使用参数time_zone来修改。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~