ये फाइलें क्या हैं, क्या मैं इन्हें मैन्युअल रूप से हटा सकता हूं?


11
[root@jiaoyou mysql]# pwd
/var/lib/mysql
[root@jiaoyou mysql]# ls -ls
338256 -rw-rw---- 1 mysql mysql 346030080 2010-04-22 08:08 ibdata1
626812 -rw-rw---- 1 mysql mysql 641222072 2010-01-26 07:17 mysql-bin.000008
316892 -rw-rw---- 1 mysql mysql 324173772 2010-03-25 12:51 mysql-bin.000009
52724 -rw-rw---- 1 mysql mysql  53931666 2010-04-12 12:13 mysql-bin.000010
10136 -rw-rw---- 1 mysql mysql  10359639 2010-04-22 08:32 mysql-bin.000011

mysql> SHOW BINARY LOGS; 
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000008 | 641222072 | 
| mysql-bin.000009 | 324173772 | 
| mysql-bin.000010 |  53931666 | 
| mysql-bin.000011 |  10360680 | 
+------------------+-----------+

ये फ़ाइलें ibdata1, mysql-bin.000008और mysql-bin.000009... मेरा बहुत अधिक स्थान ले रही हैं, क्या मेरे लिए उनमें से कुछ को मैन्युअल रूप से हटाना ठीक होगा?

अद्यतन मैं MySQL के मास्टर / दास का उपयोग नहीं कर रहा हूँ, सभी बाइनरी फ़ाइलों को कैसे ड्रॉप और अक्षम करना है?


शो बायनेरी लॉग; "त्रुटि 1381: आप बाइनरी लॉगिंग का उपयोग नहीं कर रहे हैं" जैसे त्रुटि संदेश लौटा सकते हैं।
कांस्य पुरुष

यदि आप त्रुटि 1381 प्राप्त करते हैं: आप बाइनरी लॉगिंग संदेश का उपयोग नहीं कर रहे हैं, तो इसका क्या मतलब है? क्या तब फ़ाइलों को मैन्युअल रूप से हटाना सुरक्षित है?
दान जे।

जवाबों:


9

वे mysql बिन लॉग हैं। यदि आप उन्हें rm से हटाते हैं तो सर्वर गंभीर रूप से चिढ़ सकता है।

इसके बजाय, PURGE BINARY LOGS TO 'mysql-bin.010';फ़ाइलों को सुरक्षित रूप से हटाने के लिए रूट mysql उपयोगकर्ता के रूप में उपयोग करें।

अधिक जानकारी यहाँ प्रलेखन में पाई जा सकती है ।


इन BINARY LOGS में क्या संबंध है?
अपाचे

ये वो फाइलें हैं जो आपके डेटाबेस / var / lib / mysql डायरेक्टरी में हैं।
टॉम ओ'कॉनर

5

ये mysql सर्विस के लिए लॉग फाइल हैं। सेटिंग को /etc/my.cnf फ़ाइल को अपडेट करके अनुकूलित किया जा सकता है

यदि वे आपके डिस्क स्थान को खा रहे हैं तो उन दिनों की संख्या के आधार पर ऑटो स्पष्ट लॉग में सेटिंग जोड़ें जिन्हें आप रखना चाहते हैं

नीचे दी गई सेटिंग के लिए, 90 दिनों से पुराने सभी लॉग को हटा देगा

**expire_logs_days=100**

इस सेटिंग को प्रतिबिंबित करने के लिए हमें mysql सेवा को पुनरारंभ करना होगा

/etc/init.d/mysql restart

उम्मीद है की यह मदद करेगा


यह सबसे टिकाऊ उपाय है। शुद्ध करने का सबसे आसान तरीका अगर आप अपने MySQL पासवर्ड को याद नहीं रखते हैं :-)
कासिमिर

सबसे अच्छा समाधान कभी! यदि आप सभी फ़ाइलों को शुद्ध करना चाहते हैं, तो बस 0 दिन पर सेट करें, और फिर अपने आवेदन के आधार पर एक अच्छे मूल्य पर वापस जाएं। धन्यवाद मित्र!
फैबियो एन लीमा

4

mysql-binफ़ाइलों द्विआधारी लॉग, जो दोनों या तो एक लेन-देन इतिहास के लिए या प्रतिकृति के प्रयोजन के लिए आम तौर पर कर रहे हैं। बाइनरी लॉगिंग को अक्षम करने के लिए, आप log-bin*cnf में लाइनों को टिप्पणी कर सकते हैं । log-slave-updatesसक्षम होने पर भी टिप्पणी की जानी चाहिए।

ibdata*फाइलें InnoDB के टेबलस्पेस का हिस्सा हैं, जो innodb_data_file_pathसेटिंग के साथ निर्दिष्ट है । जब तक आपके पास कोई InnoDB टेबल नहीं है, तब तक मैं हटाने की अनुशंसा नहीं करूँगा और पहले skip-innodbcnf में उपयोग करके InnoDB को अक्षम कर दूंगा।


क्या मुझे server-idइसे निष्क्रिय करने के लिए टिप्पणी करने की आवश्यकता है ?
अपाचे

नहीं, आप नहीं लेकिन आप कर सकते थे। इसका उपयोग प्रतिकृति के दौरान विशिष्ट रूप से सर्वर की पहचान करने के लिए किया जाता है।
वार्नर

0

लॉगिंग को पूरी तरह से अक्षम करने के लिए आपको अपनी कॉन्फ़िग फ़ाइल (आमतौर पर /etc/my.cnf) में लॉग-बिन मान पर टिप्पणी करने की आवश्यकता है:

#log-bin = /var/log/mysql/mysql-bin.log

मुझे लगता है कि ibdata1 फ़ाइल में वास्तविक डेटाबेस शामिल हो सकता है - मैं innodb का उपयोग नहीं करता हूं इसलिए मुझे यकीन नहीं है - और इसलिए मैं उस एक को हटाने की सिफारिश नहीं करूंगा। हालांकि "PURGE BINARY LOGS TO ..." कमांड को बाइनरी लॉग से छुटकारा मिलेगा।

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