MySQL में टाइमज़ोन बदलने के लिए SET time_zone कमांड का उपयोग करें।
सत्र (Session) के लिए टाइमज़ोन बदलें
mysql> SET time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
-- या नामित टाइमज़ोन (यदि टाइमज़ोन टेबल लोडेड हों)
mysql> SET time_zone = 'Asia/Kolkata';
वैश्विक (Global) टाइमज़ोन बदलें
mysql> SET GLOBAL time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
-- इसके लिए SUPER अधिकार चाहिए
-- यह केवल नए कनेक्शन पर प्रभावी होता है
वर्तमान टाइमज़ोन जांचें
mysql> SELECT @@time_zone, @@global.time_zone, @@session.time_zone;
+-------------+--------------------+-------------------+
| @@time_zone | @@global.time_zone | @@session.time_zone |
+-------------+--------------------+-------------------+
| +08:00 | +08:00 | +08:00 |
+-------------+--------------------+-------------------+
टाइमज़ोन टेबल लोड करना (नामित टाइमज़ोन के लिए)
# Linux/macOS पर
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
# Windows पर (MySQL इंस्टॉल डायरेक्टरी से)
mysql_tzinfo_to_sql "C:\Program Files\MySQL\MySQL Server 8.0\share\zoneinfo" | mysql -u root -p mysql
स्थायी कॉन्फ़िगरेशन (my.cnf / my.ini)
[mysqld]
default-time-zone = '+05:30' # भारत के लिए
महत्वपूर्ण नोट
TIMESTAMPकॉलम टाइमज़ोन रूपांतरण करते हैं;DATETIMEनहीं।GLOBALबदलाव के लिएSUPERयाSYSTEM_VARIABLES_ADMINअधिकार चाहिए।- सत्र टाइमज़ोन कनेक्शन बंद होने पर रीसेट हो जाता है।