MySQL प्रतिकृति: यदि मैं किसी भी डेटाबेस निर्दिष्ट नहीं करता, तो log_bin लॉग सब कुछ होगा?

मैं एक सर्वर के लिए प्रतिकृति स्थापित कर रहा हूं जो डेटाबेस का एक गुच्छा चलाता है (प्रति ग्राहक एक) और my.cnf पर, हर समय जोड़ने पर योजना बनाने के बजाय:

binlog-do-db  = databasename 1
binlog-do-db  = databasename 2
binlog-do-db  = databasename 3
...
binlog-do-db  = databasename n

क्या मैं बस कर सकता हूँ

binlog-ignore-db  = mysql
binlog-ignore-db  = informationschema

(और निर्दिष्ट करने के लिए कोई डेटाबेस निर्दिष्ट नहीं है) और मान लें कि बाकी सब कुछ लॉग है?

संपादित करें: असल में यदि मैं अपनी सभी बिनलॉग-डू-डीबी प्रविष्टियों को हटा देता हूं, तो यह प्रतीत होता है कि यह सब कुछ लॉग करता है (जैसा कि आप डेटाबेस को ले जाने पर बाइनरी लॉग फ़ाइल परिवर्तन स्थिति देखते हैं), लेकिन दास सर्वर पर, कुछ भी नहीं उठाया जाता है! (शायद, यह प्रतिकृति-डू-डीबी का उपयोग करने का मामला है? यह विचार को मार देगा; मुझे लगता है कि मेरे पास MySQL स्वचालित रूप से पता नहीं लगा सकता कि कौन से डेटाबेस दोहराने के लिए)।

0
ro fr bn

1 उत्तर

यह सही दिखता है: http://dev .mysql.com/doc/RefMan/5.0/en/बाइनरी-log.html # option_mysqld_binlog-उपेक्षा-db

उस संदर्भ के अनुसार:

There are some --binlog-ignore-db rules. Does the default database match any of the --binlog-ignore-db rules?

  • Yes: Do not write the statement, and exit.
  • No: Write the query and exit.

चूंकि आपने केवल आदेशों को अनदेखा कर दिया है, इसलिए सभी प्रश्न लॉग पर लिखे जाएंगे जब तक कि डिफ़ॉल्ट (सक्रिय) डेटाबेस किसी अनदेखा डेटाबेस से मेल नहीं खाता है।

0
जोड़ा