Computer >> कंप्यूटर ट्यूटोरियल >  >> स्मार्टफोन्स >> Linux

MySQL में स्लो क्वेरी लॉगिंग कैसे सेट करें

यह गाइड बताएगी कि MySQL में "स्लो क्वेरी" लॉगिंग कैसे सेट करें ताकि आप पता लगा सकें कि कौन सी क्वेरीज़ धीमेपन का कारण बन रही हैं।

यदि आप प्रोडक्शन MySQL सर्वर चलाते या प्रशासित करते हैं, तो यह काफी संभावना है कि यह कभी-कभी थोड़ा धीमा चलता है, और यह पता लगाना कि क्यों, एक बहुत समय लेने वाला प्रयास हो सकता है। उस क्वेरी को इंगित करना जो डेटाबेस को धीमा कर रही है, ट्रैक करना कठिन हो सकता है। MySQL में आपकी मदद के लिए एक विकल्प है। यह स्लो क्वेरीज़ को लॉग करने के विकल्प के साथ आता है। इस तरह जब आप पाते हैं कि आपका डेटाबेस सर्वर सामान्य से धीमा चल रहा है, तो आप इस लॉग फ़ाइल को टेक्स्ट एडिटर में खोल सकते हैं और देख सकते हैं कि कौन सी क्वेरीज़ धीमी चल रही हैं। आइए देखें कि इसे कैसे सेट करें।

सबसे पहले अपने MySQL सर्वर की कॉन्फ़िगरेशन फ़ाइल my.cnf खोलें। लिनक्स पर यह /etc डायरेक्टरी में होनी चाहिए। देखें कि क्या पैरामीटर log-slow-queries पहले से सेट है। यदि नहीं, तो इसे इस तरह सेट करें:

log-slow-queries = /var/log/mysql/mysql-slow.log

आपको वह समय भी सेट करना होगा जिसके बाद किसी क्वेरी को स्लो क्वेरी माना जाए। मेरे सर्वर पर मैंने इसे 30 सेकंड पर सेट किया है, जैसे:

long_query_time = 30

MySQL सर्वर को रीस्टार्ट करें, और फिर mysql-slow.log फ़ाइल पर नज़र रखें। जब भी कोई क्वेरी पूरा होने में 30 सेकंड से अधिक समय लेती है, या आपने my.cnf में जो भी सेट किया है, तो क्वेरी mysql-slow.log में लॉग हो जाएगी। अब MySQL क्वेरीज़ को डीबग करना आपके लिए बहुत सरल और तेज़ होना चाहिए। इस फ़ाइल को समय-समय पर जांचना याद रखें। एक क्रॉन जॉब सेटअप करना उपयोगी हो सकता है जो आपको हर कुछ दिनों में यह फ़ाइल मेल कर दे।

  1. - MySQL में चेतावनियों को कैसे दबाएं

    SQL_NOTES सेट करके चेतावनियां दबाना MySQL में SET sql_notes = 0 सेट करके चेतावनी संदेशों को दबाया जा सकता है। डिफ़ॉल्ट रूप से sql_nototes = 1 होता है। चेतावनियां सक्षम (डिफ़ॉल्ट) SET sql_notes = 1; Query OK, 0 rows affected (0.00 sec) मौजूद नहीं टेबल ड्रॉप करना (चेतावनी उत्पन्न होगी) DROP TABLE

  1. - MySQL क्वेरी में 'Empty set' को कैसे बदलें?

    परिचय जब कोई क्वेरी कोई पंक्ति नहीं लौटाती (Empty set), और आप इसके बजाय एक डिफ़ॉल्ट मान दिखाना चाहते हैं, तो MySQL का COALESCE() फंक्शन उपयोगी है। यह पहला नॉन-NULL मान लौटाता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (1.64 sec) INSERT INTO DemoTable VALUES(78); Query OK,

  1. - MySQL में FORMAT() का उपयोग करके मुद्रा रिकॉर्ड कैसे सेट करें?

    MySQL में FORMAT() फ़ंक्शन का उपयोग करके संख्याओं को मुद्रा फॉर्मेट (हजारों विभाजक, निश्चित दशमलव) में प्रदर्शित किया जा सकता है। सिंटैक्स CONCAT(CURRENCY_SYMBOL , FORMAT(amount, decimal_places)) उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Amount DECIMAL(15,4)); mysql> INSERT INTO De