Expire_logs_days param को अपडेट करने और sql को फिर से शुरू करने के तुरंत बाद पुराने बिनलॉग डिलीट हो जाएंगे?


16

MySQL 5.1.x | InnoDB | खिड़कियाँ

मेरा mysql डेटा निर्देशिका बिन लॉग्स से भरना शुरू कर रहा है।

वर्तमान में मेरी विंडोज़ mysql सर्वर में निम्नलिखित सेटिंग्स कॉन्फ़िगर की गई हैं:

[mysqld]
log-bin
server-id=1
binlog-do-db=foodb1
binlog-do-db=foodb2
expire_logs_days=25

मैं expire_logs_days=10mysql सेवा को समाप्त करने और बाउंस करने के लिए expire_logs_days सेटिंग बदलने की योजना बना रहा हूं । इस परिवर्तन को करने के तुरंत बाद, मैं पुराने बिन लॉग्स को स्पष्ट करने की उम्मीद कर सकता हूं।

क्या यह केवल रात के निर्धारित कार्य के हिस्से के रूप में किया गया है? या यह तत्काल होना चाहिए?

जवाबों:


29

इसे तुरंत mysql स्टार्टअप पर हैंडल किया जाएगा।

आपको mysql पुनरारंभ करने के लिए प्रतीक्षा करने की आवश्यकता नहीं है।

सबसे पहले, expire_logs_days/etc/my.cnf में 10 सेट करें

[mysqld]
log-bin
server-id=1
binlog-do-db=foodb1
binlog-do-db=foodb2
expire_logs_days=10

इसके बाद, mysql में लॉग इन करें और इसे चलाएं

PURGE BINARY LOGS BEFORE (date(now()) + interval 0 second - interval 10 day);

क्वेरी की तारीख और समय नोट करें

mysql> select date(now()) + interval 0 second - interval 10 day;
+---------------------------------------------------+
| date(now()) + interval 0 second - interval 10 day |
+---------------------------------------------------+
| 2012-12-11 00:00:00                               |
+---------------------------------------------------+
1 row in set (0.00 sec)

mysql>

इस प्रकार, PURGE BINARY LOGS कमांड उन सभी बनलॉग को हटा देगा जिनकी डेटाइम स्टैम्प पूर्ववर्ती है2012-12-11 00:00:00

अंत में, यह कमांड चलाएँ

SET GLOBAL expire_logs_days = 10;

बस। Expire_logs_days को स्थापित करने के लिए किसी भी पुनरारंभ की आवश्यकता नहीं है

प्रतिकृति मापदंडों के लिए, हाँ पुनरारंभ की आवश्यकता है।


शानदार प्रतिक्रिया। धन्यवाद। मैं विस्तार की सराहना करता हूं।
माइक बी

कृपया रिफ्रेश करें, मैंने एक टाइपो ठीक किया।
रोलैंडमाइसीडीडीबीए

1
बस यह नोट करने के लिए कि expire_logs_days अब MySQL 8.0 (@RolandoMySQLDBA द्वारा दिए गए लिंक में विस्तार के अनुसार) में पदावनत हो गया है। आगे जाने के बजाय binlog_expire_logs_seconds का उपयोग करें।
जॉन रिक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.