MySQL生产环境需配置NTP,因其主从延迟计算、GTID恢复、慢日志分析、TLS证书验证及审计合规均依赖系统时间一致性;仅单机测试等隔离场景可暂不配置。
MySQL 本身不依赖 NTP(网络时间协议)运行,但在生产环境中,强烈建议配置 NTP 时间同步,尤其当数据库涉及主从复制、分布式事务、审计日志、备份恢复或与外部系统(如应用服务、监控平台)协同工作时。时间不同步可能引发严重问题,而非简单“报错”。
MySQL 自身不校验系统时间,但多个关键机制对时间一致性高度敏感:
仅限以下低风险、隔离性高的测试或开发场景:
注意:即使满足上述条件,一旦后续引入备份工具(如 mydumper)、监控(Prometheus + node_exporter)或 ORM 框架的时间戳字段,默认行为仍可能隐式依赖系统时间。
推荐使用 systemd-timesyncd(轻量、默认启用)或 chrony(高精度、适合虚拟化/云环境),避免使用已废弃的 ntpd:
timedatectl status 查看 “System clock synchronized: yes” 和 
/etc/systemd/timesyncd.conf 或 /etc/chrony.conf,添加国内可用源如 cn.pool.ntp.org、ntp.aliyun.com 或企业内网 NTP 服务器;date 命令或 root 权限随意调整,防止人为破坏同步;chronyc tracking 或 timedatectl timesync-status 查看 offset(建议稳定在 ±50ms 内);/etc/localtime:ro 和 /etc/timezone:ro,避免镜像内置时区与实际脱节。即使系统时间准确,仍需关注 MySQL 自身时间行为:
system_time_zone 取值于系统时区,time_zone 会话变量默认为 SYSTEM;建议统一设为 UTC(SET GLOBAL time_zone = '+00:00';),应用层处理本地显示;binlog_transaction_compression,但 binlog 文件头时间仍来自系统时间,不可更改;不复杂但容易忽略。时间不是“能跑就行”的基础项,而是分布式数据一致性的隐形地基。