我们将时区设置为 IST(印度标准时间)以 -
mysql> show global variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | IST |
| time_zone | SYSTEM |
+------------------+--------+
SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> select NOW();
+---------------------+
| NOW() |
+---------------------+
| 2017-10-31 17:05:26 |
+---------------------+
上面显示了与服务器时间相同的时间,它也在 IST 中。
我们想将其更改为 UTC。与时区为 UTC 的服务器相比,该服务器上唯一不同的值似乎system_time_zone
是设置为 IST 的变量,如上所示。
不确定要更改哪个变量/配置。
我们尝试更改default-time-zone
my.ini 中的 ,但它更改了time_zone
变量而不是system_time_zone
.
据我了解,以下还将尝试更新time_zone
- SET GLOBAL time_zone="+00:00";
所以,不知道会更新什么system_time_zone
。
已检查https://stackoverflow.com/a/5359622/351903 不确定 system_time_zone 和 time_zone 之间究竟有什么区别。
此外,Mysql 文档说-
--timezone 或 TZ 的允许值取决于系统。
无法在 Windows 和 Cent OS 服务器上找到合适的 IST 值。从这篇文章看来,它需要一些调查。有人可以帮忙吗?任何指针。
背景
我想要的是select NOW();
在服务器上看到 5:30 小时的时差。目前它显示的时间与应用程序服务器时间(也是 IST)相同。我们正在尝试添加这种差异来重现测试场景。
更新
在我的 Windows 设置中获得以下信息 -
mysql> SET time_zone = 'Asia/Kolkata';
ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Kolkata'
mysql> SET time_zone = "Asia/Kolkata";
ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Kolkata'
mysql> SET time_zone = "UTC";
ERROR 1298 (HY000): Unknown or incorrect time zone: 'UTC'