2011-09-11 13 views
21

मैं कई आदेश (फ्लश लॉग, शुद्ध मास्टर) की कोशिश की है, लेकिन कोई भी लॉग फ़ाइलों को हटा देता है (जब पहले से ही सक्रिय) या लॉग तालिकाओं (mysql/slow_log.CSV और mysql/general_log.CSV और उनके .frm और .CSM समकक्षों) ।MySQL में, मैं उन सभी लॉग को कैसे हटा/साफ़ कर सकता हूं जो आवश्यक नहीं हैं?

शो बायनरी लॉग रिटर्न "आप द्विआधारी लॉगिंग का उपयोग नहीं कर रहे हैं"।

संपादित: मैं (अभी तक एक mysql आदेश का उपयोग कर फ़ाइल लॉग लेकिन नहीं) तालिका लॉग स्पष्ट करने के लिए इस सरल समाधान पाया:

TRUNCATE mysql.general_log; 
TRUNCATE mysql.slow_log; 

उत्तर

24

फ्लश लॉग बस बंद कर देता है और लॉग फ़ाइलें खोल देता है। अगर लॉग फाइल बड़ी हैं, तो यह उन्हें कम नहीं करेगा। आप लिनक्स पर हैं, तो आप लॉग फ़ाइलों का नाम बदलने के mv उपयोग कर सकते हैं, जबकि वे उपयोग कर रहे हैं, और उसके बाद फ्लश लॉग के बाद, आप जानते हैं कि MySQL के लिए एक नया, छोटे फाइल करने के लिए लिख रहा है, और आप पुराने बड़ी फ़ाइलों को हटा सकते हैं।

द्विआधारी लॉग अलग हैं। पुराने binlogs को खत्म करने के लिए, PURGE BINARY LOGS का उपयोग करें। सुनिश्चित करें कि आपके गुलाम (यदि कोई हैं) अभी भी बाइनरी लॉग का उपयोग नहीं कर रहे हैं। यही है, यह देखने के लिए स्लेव स्टेटस चलाएं कि वे किस बिनॉग फ़ाइल पर काम कर रहे हैं, और उस फ़ाइल या बाद की फ़ाइलों को शुद्ध न करें।

यह भी ध्यान कि binlogs मामले में आप बैकअप से बहाल करने और उसके बाद binlogs पुन: लागू तारीख तक डेटाबेस लाने के लिए की जरूरत है बिंदु-इन-टाइम वसूली के लिए उपयोगी होते हैं में रहते हैं। यदि आपको इस तरह से binlogs का उपयोग करने की आवश्यकता है, तो अपने अंतिम बैकअप के बाद से लिखे गए binlogs को शुद्ध न करें।

+0

और खिड़कियों के लिए? – pollux1er

+4

@ pollux1er, मैं विंडोज नहीं करता, क्षमा करें। –

+0

मैं सिर्फ यकीन है कि mysql 'sudo सेवा mysql status' का उपयोग कर चलाने पर वापस था बनाने के लिए' mv' और 'rm' आदेशों के बाद mysql पुनः आरंभ,' sudo सेवा mysql restart' का उपयोग कर और उसके बाद करना पड़ा – dazito

0

ऐसा लगता है द्विआधारी लॉगिंग अपने सर्वर में सक्षम नहीं है .और मैं लगता है कि आप करना चाहते हैं पुरानी लॉग फ़ाइलों को हटाएं जिन्हें बाइनरी लॉगिंग के समय उपयोग/बनाया गया था। यदि आप चाहें तो 'rm' कमांड का उपयोग करके मैन्युअल रूप से उन्हें हटा सकते हैं। यदि आप बाइनरी लॉगिंग को सक्षम करना चाहते हैं तो आप कॉन्फ़िगरेशन फ़ाइल को अपडेट करके ऐसा ही कर सकते हैं (लेकिन अगर यह पहले से चल रहा है तो सर्वर को पुनरारंभ करने की आवश्यकता है)। आप नीचे दिए गए लिंक का उल्लेख कर सकते हैं। http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#option_mysqld_log-bin http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#sysvar_log_bin

संबंधित मुद्दे

 संबंधित मुद्दे