पृष्ठभूमि : मेरे पास इस उत्कृष्ट मार्गदर्शिका के बाद मास्टर-मास्टर पंक्ति-आधारित-प्रतिकृति (RBR) में दो MySQL 5.1 सर्वर सेटअप हैं । मैं चाहता हूं कि सभी डेटाबेस दोहराया जाए, और नियमित रूप से नए डेटाबेस जोड़े जाएंगे।
लक्ष्य : मैं केवल एक सर्वर में DB को जोड़कर प्रतिकृति में नए डेटाबेस जोड़ने में सक्षम होना चाहूंगा; दोनों दासों को रोकने के बिना , कॉन्फ़िगरेशन फ़ाइलों को बदलें, MySQL सर्वर को पुनरारंभ करें, और दास को फिर से शुरू करें।
प्रश्न : से मैं क्या पढ़ा है, मैं लगता है कि मैं बस किसी भी छोड़ते हुए ऐसा कर सकते हैं binlog-do-db
, binlog-ignore-db
, replicate-do-db
, और replicate-ignore-db
प्रत्येक सर्वर का विन्यास में सेटिंग है, लेकिन मुझे यकीन है कि नहीं हो सकता। डेटाबेस और टेबल स्तर के प्रतिकृति विकल्पों का मूल्यांकन कैसे किया जाता है, इस पर MySQL के डॉक्स मुझे लगता है कि इसे पूरा करने का कोई तरीका नहीं हो सकता है।
मेरी /etc/mysql/my.cnf
फ़ाइलों के प्रासंगिक भाग नीचे कॉपी किए गए हैं। क्या मैं सही रास्ते पर हूं? क्या मैं भी संभव है?
मास्टर 1 :
[mysqld]
binlog-format = row
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = <master2_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M
मास्टर 2 :
[mysqld]
binlog-format = row
server-id = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
master-host = <master1_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M