Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL डेटाबेस टाइमज़ोन को GMT पर सेट करें

नहीं, MySQL इंस्टेंस के भीतर एकल डेटाबेस के लिए समय क्षेत्र को बदलना संभव नहीं है।

हम सर्वर और क्लाइंट को पुनः प्राप्त कर सकते हैं time_zone एक क्वेरी के साथ सेटिंग्स, इस तरह:

SELECT @@global.time_zone, @@session.time_zone;

हम एक सत्र के लिए क्लाइंट टाइमज़ोन भी बदल सकते हैं, या संपूर्ण MySQL इंस्टेंस के लिए टाइमज़ोन बदल सकते हैं।

लेकिन हमें इस बदलाव के मौजूदा क्लाइंट कनेक्शन पर पड़ने वाले प्रभाव और DATETIME के तरीके के बारे में पूरी जानकारी होनी चाहिए। और TIMESTAMP उदाहरण में पहले से संग्रहीत मानों की व्याख्या की जाएगी।

सर्वर टाइम_ज़ोन को MySQL इंस्टेंस स्टार्टअप पर सेट करने के लिए, हम /etc/my.cnf को संशोधित कर सकते हैं। [mysqld] . के तहत फ़ाइल (या जहां भी mysql इंस्टेंस इनिशियलाइज़ेशन पैरामीटर से पढ़ा जाता है) अनुभाग:

[mysqld]
default-time-zone='+00:00' 

-- या --

--default_time_zone='+00:00' जोड़ना भी संभव है (कम वांछनीय) mysqld_safe का विकल्प

नोट: MySQL सर्वर पर टाइमज़ोन सेटिंग बदलने से मौजूदा DATETIME या TIMESTAMP कॉलम में संग्रहीत मान नहीं बदलते हैं, लेकिन चूंकि यह उस संदर्भ को प्रभावी ढंग से बदल देता है जिसमें उन संग्रहीत मानों की व्याख्या की जाती है, ऐसा लगेगा कि सभी मान स्थानांतरित हो गए हैं। (जहां 08:00 का मतलब सुबह 8 बजे सीएसटी था, सर्वर के समय क्षेत्र को सीएसटी से जीएमटी में बदलने के साथ, वही '08:00’ को अब सुबह 8 बजे जीएमटी लिया जाएगा, जो प्रभावी रूप से 2 बजे सीएसटी होगा।

यह भी ध्यान रखें कि TIMESTAMP कॉलम हमेशा UTC में स्टोर होते हैं, जबकि DATETIME कॉलम में टाइमज़ोन नहीं होता है।http://dev.mysql.com/doc/refman/5.5/en/datetime.html

प्रत्येक ग्राहक सत्र अपने स्वयं के सत्र के लिए समय क्षेत्र सेटिंग बदल सकता है:

SET time_zone='-06:00';

लेकिन इनमें से कोई भी वास्तव में टाइमज़ोन रूपांतरण समस्या को "हल" नहीं करता है, यह केवल रूपांतरण समस्या को इधर-उधर करता है।

टाइमज़ोन रूपांतरणों को संभालने वाली एप्लिकेशन परत के साथ स्वाभाविक रूप से "खराब" कुछ भी नहीं है; कभी-कभी, यह संभालने के लिए सबसे अच्छी जगह है। इसे सही ढंग से और लगातार करना है।

(आपके द्वारा वर्णित सेटअप के बारे में अजीब बात यह है कि ऐप DATETIME मानों को संग्रहीत कर रहा है जैसे कि MySQL सर्वर टाइम_ज़ोन जीएमटी पर सेट है, लेकिन MySQL सर्वर टाइम_ज़ोन कुछ और पर सेट है।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या यह एक सुरक्षित/मजबूत इनपुट सैनिटाइजेशन फ़ंक्शन है?

  2. MySQL कॉलम में न्यूनतम अप्रयुक्त मान प्राप्त करें

  3. एक स्टेटमेंट में दो टेबल कैसे अपडेट करें?

  4. MySQLDumper:एक PHP और पर्ल आधारित MySQL डेटाबेस बैकअप टूल

  5. बड़े MySQL आयात के लिए कनेक्शन टाइमआउट को कैसे रोकें