MySQL默认使用系统时区,需统一设为UTC+8以避免时间偏差;应通过配置文件永久设置default-time-zone='+08:00'并重启服务,同时区分TIMESTAMP(自动时区转换)与DATETIME(无转换)的适用场景。

MySQL 默认使用系统时区,但实际开发中常需统一为 UTC+8(如北京时间),否则时间字段(如 NOW()、CURRENT_TIMESTAMP)可能与业务预期不符。关键在于区分全局时区和会话时区,并确保服务重启后仍生效。
连接 MySQL 后执行:
SELECT @@global.time_zone, @@session.time_zone;
常见返回:SYSTEM 表示跟随系统时区;+00:00 或 UTC 表示 UTC;+08:00 表示东八区。
也可查系统时区确认基准:
SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);
仅对当前会话或全局生效,适合测试:
SET time_zone = '+08:00';
SET GLOBAL time_zone = '+08:00';
⚠️ 注意:普通用户需 SYSTEM_VARIABLES_ADMIN 权限;修改后已有连接不受影响。
网奇.NET网络商城系统是基于.Net平台开发的免费商城系统。功能强大,操作方便,设置简便。无需任何设置,上传到支持asp.net的主机空间即可使用。系统特色功能:1、同时支持Access和SqlServer数据库;2、支持多语言、多模板3、可定制缺货处理功能4、支持附件销售功能5、支持会员组批发功能6、提供页面设计API函数7、支持预付款功能8、配送价格分地区按数学公式计算9、商品支持多类别,可
0
编辑 MySQL 配置文件(通常是 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf),在 [mysqld] 段下添加:
[mysqld] default-time-zone = '+08:00'
保存后重启 MySQL 服务:
sudo systemctl restart mysql 或 sudo systemctl restart mysqld
brew services restart mysql
重启后执行 SELECT @@global.time_zone; 应返回 +08:00。
MySQL 的 TIMESTAMP 类型会自动按当前时区转换存储/读取,而 DATETIME 不做转换——存什么读什么。因此:
+08:00 并用 TIMESTAMP
DATETIME + 应用层统一转 UTC 存储?serverTimezone=Asia/Shanghai,避免驱动误判不复杂但容易忽略。
以上就是如何设置mysql时区_mysql时区配置方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号