正确设置MySQL时区可避免时间偏差,建议在配置文件中设置default-time-zone='+8:00'或'Asia/Shanghai'并重启服务,确保时区数据已导入,保持数据库与应用服务器时区一致。

在搭建 MySQL 数据库环境时,正确设置时区非常重要,尤其是涉及时间字段(如 DATETIME 和 TIMESTAMP)的存储与显示。MySQL 默认使用系统时区,但建议显式配置以避免跨平台或部署时出现时间偏差。
查看当前时区设置
连接到 MySQL 后,执行以下命令查看当前时区:
SELECT @@global.time_zone, @@session.time_zone;返回结果可能为 SYSTEM、+00:00 或具体的时区名称(如 Asia/Shanghai)。若为 SYSTEM,则表示使用操作系统时区。
方法一:通过配置文件设置(推荐)
修改 MySQL 配置文件,在启动时永久生效。
- 找到 MySQL 配置文件:
- Linux 通常为 /etc/my.cnf 或 /etc/mysql/my.cnf
- Windows 为 my.ini - 在 [mysqld] 段落下添加:
或使用命名时区(需时区表已加载):
default-time-zone = 'Asia/Shanghai'保存后重启 MySQL 服务使配置生效。
方法二:运行时动态设置
可在不重启服务的情况下临时设置全局时区:
发卡宝是一个专业的软件卡密等虚拟商品在线交易平台,拥有多种兑换方式,费率低,结算快,正规企业平台一直稳定运营,24小时不间断提供自动发卡服务。【模板说明】试用版自带一套模板(响应式)【环境支持】PHP环境 / 200M或以上空间大小 / 开启父路径 / 设置index.php为默认首页 / 目录写入权限需要开启【数据库】MySQL【安装步骤】将文件上传至空间目录,运行“http://域名/inst
或使用命名时区:
SET GLOBAL time_zone = 'Asia/Shanghai';注意:此设置在服务重启后会失效,适用于测试或临时调整。
补充:加载命名时区支持
若使用 Asia/Shanghai 等名称时报错,需确保时区表已初始化:
- 执行命令导入系统时区数据:
该命令将操作系统时区信息导入 MySQL 的 mysql 系统数据库中。
基本上就这些。只要在配置文件中设置 default-time-zone 并确保时区数据可用,就能稳定使用东八区时间。开发和部署时保持数据库与应用服务器时区一致,可避免多数时间相关问题。









