SELECT CURTIME(); -- 當前時間 SHOW VARIABLES LIKE '%time_zone%'; -- 系統時區:CST | MySQL 時區:SYSTEM
SET GLOBAL time_zone = '+8:00'; -- 全局(需 SUPER 權限) SET time_zone = '+8:00'; -- 當前會話 FLUSH PRIVILEGES; -- 立即生效
# 編輯 /etc/my.cnf [mysqld] default-time_zone = '+8:00' # 重啟服務 systemctl restart mysqld
以 PHP 為例,連接建立後執行:
mysql_query("SET time_zone = '+8:00'");
限制: 某些系統函數(如
NOW())可能仍使用系統時區,無法完全解決。
SELECT NOW(), CURTIME(); SHOW VARIABLES LIKE 'time_zone';