लॉग फ़ाइल में सभी mysql क्वेरी कैसे दर्ज करें?


17

मैं Wamp सर्वर वातावरण के तहत मैसूर 5.6.12 का उपयोग कर रहा हूं। अब मैं सभी प्रश्नों को ".log" फ़ाइल में लॉग इन करना चाहता हूं, जो क्वेरी PHP या PHPMyAdmin से चल रही हैं, मैं उन्हें लॉग करना चाहता हूं ...

जवाबों:


20
[mysqld]
# Set Slow Query Log
long_query_time = 1
slow_query_log = 1
slow_query_log_file = /usr/log/slowquery.log
log_queries_not_using_indexes = 1

#Set General Log
general_log = on
general_log_file=/usr/log/general.log

ध्यान दें कि general_logउत्पादन सर्वर पर सक्षम करने से आपको ओवरहेड होना चाहिए, आपको इससे बचना चाहिए। आप से समस्याग्रस्त प्रश्नों की जाँच कर सकते हैं slow log


1
मेरे लिए, मुझे "general_log = on" के बजाय "general_log = 1" का उपयोग करना था।
ग्यूपैडपॉक

Wamp सर्वर पर काम किया, mysql 5.6.7 का उपयोग कर। केवल एक चीज जो मुझे बदलनी थी वह थी टीजे फाइलों के रास्ते, मेरे मामले में, C: \ wamp \ log \ mysql_query.log।
मेरियो रोड्रिग्स

ये सभी विन्यास मूल्य क्यों हैं? बस general_logऔर general_log_fileपर्याप्त है।
laurent

8

चूंकि यह उस प्रकार की चीज़ है जिसे आप शायद केवल अस्थायी रूप से करना चाहते हैं, इसलिए इसे कॉन्फ़िगरेशन फ़ाइल के माध्यम से शेल से करना उपयोगी हो सकता है:

> set global general_log_file = "/var/log/mysql/queries.log";
> set global general_log = "ON";
[wait some time, hit some pages, whatever]
> set global general_log = "OFF";

5

इन दो पंक्तियों को my.cnf में डालें।

[mysqld]

general_log     = on
general_log_file=/users/ugrad/linehanp/mydb/logfile.txt

यह सर्वर के सभी प्रश्नों को किसी भी स्रोत से लॉग करेगा , न कि केवल PHP / PHPMyAdmin।

हालांकि सावधान रहें - सामान्य लॉग को सक्षम करने से आपके सर्वर पर भारी भार पड़ सकता है। केवल छोटी अवधि / डिबगिंग के लिए संयम से इस्तेमाल किया जाना।

प्रलेखन यहाँ उपलब्ध है । वहां फ्रो:

सामान्य क्वेरी लॉग को अक्षम या सक्षम करने के लिए या रनटाइम पर लॉग फ़ाइल नाम को बदलने के लिए, वैश्विक general_log और general_log_file सिस्टम चर का उपयोग करें। इसे सक्षम करने के लिए लॉग या 1 (या ON) को अक्षम करने के लिए normal_log को 0 (या OFF) पर सेट करें। लॉग फ़ाइल का नाम निर्दिष्ट करने के लिए normal_log_file सेट करें।

इसलिए,

general_log     = on

तथा

general_log     = 1

पर्यायवाची हैं!


मेरे लिए, मुझे "general_log = on" के बजाय "general_log = 1" का उपयोग करना था।
ग्यूपैडपॉक

@GuyPaddock MySQL के किस संस्करण का आप उपयोग कर रहे हैं?
प्रातः
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.