Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में जनरल लॉग कैसे चालू करें?

जनरल क्वेरी लॉग सक्षम करना

MySQL का जनरल लॉग सभी कनेक्ट/डिस्कनेक्ट और निष्पादित SQL स्टेटमेंट्स रिकॉर्ड करता है। डीबगिंग और ऑडिटिंग के लिए उपयोगी।

वर्तमान स्थिति जांचना

mysql> SHOW VARIABLES LIKE '%general_log%';
+------------------+---------------------+
| Variable_name    | Value               |
+------------------+---------------------+
| general_log      | OFF                 |
| general_log_file | DESKTOP-QN2RB3H.log |
+------------------+---------------------+
2 rows in set (0.06 sec)

जनरल लॉग चालू करना

mysql> SET GLOBAL general_log = ON;
Query OK, 0 rows affected (0.18 sec)

फिर से स्थिति जांचना

mysql> SHOW VARIABLES LIKE '%general_log%';
+------------------+---------------------+
| Variable_name    | Value               |
+------------------+---------------------+
| general_log      | ON                  |
| general_log_file | DESKTOP-QN2RB3H.log |
+------------------+---------------------+
2 rows in set (0.01 sec)

लॉग फाइल स्थान बदलना

mysql> SET GLOBAL general_log_file = 'E:\\mysqllog';
Query OK, 0 rows affected (0.11 sec)
mysql> SHOW VARIABLES LIKE '%general_log%';
+------------------+------------+
| Variable_name    | Value      |
+------------------+------------+
| general_log      | ON         |
| general_log_file | E:mysqllog |
+------------------+------------+
2 rows in set (0.01 sec)

कॉन्फिगरेशन फाइल में स्थायी सेटिंग

my.cnf या my.ini में जोड़ें:

[mysqld]
general_log = 1
general_log_file = /var/log/mysql/general.log

लॉग देखना

-- लॉग फाइल देखना (लिनक्स/मैक)
tail -f /var/log/mysql/general.log

-- विंडोज में
type E:\mysqllog

महत्वपूर्ण चेतावनियां

⚠️ प्रदर्शन प्रभाव: जनरल लॉग सभी क्वेरी लॉग करता है, जिससे:
  • डिस्क I/O बढ़ता है
  • डिस्क स्पेस तेजी से भरता है
  • उत्पादन सर्वर पर प्रदर्शन गिरता है
केवल डीबगिंग के लिए अस्थायी रूप से चालू करें, फिर बंद कर दें।

लॉग बंद करना

SET GLOBAL general_log = OFF;

लॉग रोटेशन

बड़ी लॉग फाइलों के लिए logrotate (लिनक्स) या समान टूल का उपयोग करें।

विकल्प: स्लो क्वेरी लॉग

केवल धीमी क्वेरी लॉग करने के लिए (उत्पादन के लिए बेहतर):

SET GLOBAL slow_query_log = ON;
SET GLOBAL long_query_time = 2;  -- 2 सेकंड से अधिक
  1. - MySQL परिणाम सेट को निर्दिष्ट क्रम में कैसे बनाएं?

    परिचय MySQL में FIND_IN_SET() फंक्शन का उपयोग करके परिणाम सेट को विशिष्ट ID क्रम में क्रमबद्ध किया जा सकता है जो प्राकृतिक क्रम से अलग हो। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.52 sec) INSERT INTO DemoTable1563 VALUES(1020, Sam); Query OK, 1 row affected (0.14 sec) सभ

  1. - MySQL में UNIX_TIMESTAMP(NOW()) से कॉलम में वर्तमान टाइमस्टैम्प सेट करें

    UNIX_TIMESTAMP() या UNIX_TIMESTAMP(NOW()) फ़ंक्शन का उपयोग करके वर्तमान समय को यूनिक्स टाइमस्टैम्प (सेकंड, 1970 से) के रूप में पूर्णांक कॉलम में संग्रहीत करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1894 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, DueTime INT ); डेटा डालें (DueTime N

  1. - mysqld: MySQL सर्वर (मुख्य डेमॉन)

    mysqld (MySQL Server) एकल मल्टीथ्रेडेड प्रोग्राम है जो MySQL इंस्टॉलेशन में अधिकांश कार्य करता है। यह अतिरिक्त प्रोसेस स्पॉन नहीं करता। कार्य MySQL डेटा डायरेक्टरी (डेटाबेस, टेबल) तक पहुंच प्रबंधित करता है। डेटा डायरेक्टरी लॉग फ़ाइलों और स्टेटस फ़ाइलों का डिफ़ॉल्ट स्थान भी है। नेटवर्क कनेक्शन सुनत