广州总部电话:020-85564311
广州总部电话:020-85564311
20年
互联网应用服务商
请输入搜索关键词
知识库 知识库

优网知识库

探索行业前沿,共享知识宝库

MySQL数据库日志中的时间显示误区

发布日期:2025-08-19 19:07:06 浏览次数: 814 来源:蔡璐同学
推荐语
MySQL日志时间显示慢8小时的秘密,原来是这个参数在作怪!

核心内容:
1. MySQL日志时区问题的根本原因分析
2. 详解MySQL四大时区配置参数
3. 数据库时区设置的最佳实践建议
小优 网站建设顾问
专业来源于二十年的积累,用心让我们做到更好!

最近发现很多人对MySQL错误日志和慢日志中打印的时间疑问比较大,操作系统和数据库配置的时区是正确的,为什么错误日志和慢日志中的时区显示慢了8个小时?


一、问题原因

首先把问题原因说清楚,然后再详细介绍下MySQL涉及时区配置的参数。


原因是因为MySQL控制error 、slow、general日志中输出的时区控制参数是使用单独的参数控制,由log_timestamps参数控制且该参数默认值为UTC;


如果该参数没有配置,使用UTC时区那么打印的日志中的时间就会比北京时间(CST)慢8个小时;所以这就是为什么经常有人疑惑,操作系统和数据库中查询出的时间都没有问题,但错误日志、慢日志中打印的时间就是比北京时间慢了8个小时的原因。

二、MySQL时区配置参数

MySQL数据库时区由system_time_zone、default_time_zone、time_zone、log_timestamps 参数来控制,log_timestamps参数已经了解为专控制error 、slow、general日志中输出的时区;那么其他的参数又是控制的哪些时间中时区输出的呢?


2.1 system_time_zone

服务器系统时区。服务器启动时如果没有显示配置会使用服务器的时区默认配置,该设置被用于运行服务器的账户环境或启动脚本修改;建议显示配置为本地时区。


2.2 default_time_zone 和time_zone

default_time_zone 为服务器启动参数配置,用来配置time_zone;如果未指定,使用系统默认配置(和system_time_zone保持一致)

time_zone服务器配置参数,用来配置服务器时区,同时每个连接的客户端初始化时区;默认值为system(即和system_timne_zone保持一致)。

time_zone建议显示配置为指定时区,如果设置为 SYSTEM,则每个需要进行时区计算的 MySQL 函数调用都会调用系统库来确定当前系统时区。此调用可能受全局互斥锁保护,从而导致争用。




三、问题总结

在设置数据库时区的时候,建议将时区参数配置为指定的时区,同时别忘了将日志的输出时区参数设置为指定时区。

防止不了解的人对错误日志和慢日志的输出时间产生质疑。


优网科技,优秀企业首选的互联网供应服务商

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!

优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。


我要投稿

姓名

文章链接

提交即表示你已阅读并同意《个人信息保护声明》

专属顾问 专属顾问
扫码咨询您的优网专属顾问!
专属顾问
马上咨询
联系专属顾问
联系专属顾问
联系专属顾问
扫一扫马上咨询
扫一扫马上咨询

扫一扫马上咨询

和我们在线交谈!