आपके प्रश्न का सीधा उत्तर हां है, लेकिन यह MySQL के संस्करण पर निर्भर करता है। MySQL 5.5 से पहले, प्रतिकृति निम्नानुसार काम करेगी:
- मास्टर एक्सेक्यूट एसक्यूएल
- मास्टर बाइनरी SQL ईवेंट अपने बाइनरी लॉग्स में
- दास बाइनरी लॉग से एसक्यूएल इवेंट पढ़ता है
- गुलाम एसक्यूएल इवेंट अपने रिले लॉग्स में I / O थ्रेड के माध्यम से
- गुलाम रिले से अगले SQL ईवेंट को SQL थ्रेड के माध्यम से लॉग करता है
- गुलाम Executes SQL
- गुलाम SQL इवेंट के पूर्ण निष्पादन के मास्टर को स्वीकार करता है
MySQL 5.5 के अनुसार, सेमीसिंक्रोनस प्रतिकृति का उपयोग करते हुए , अब प्रतिकृति निम्नानुसार काम करेगी:
- मास्टर एक्सेक्यूट एसक्यूएल
- मास्टर बाइनरी SQL ईवेंट अपने बाइनरी लॉग्स में
- दास बाइनरी लॉग से एसक्यूएल इवेंट पढ़ता है
- एसक्यूएल इवेंट की प्राप्ति के दास गुलाम मास्टर
- गुलाम एसक्यूएल इवेंट अपने रिले लॉग्स में I / O थ्रेड के माध्यम से
- गुलाम रिले से अगले SQL ईवेंट को SQL थ्रेड के माध्यम से लॉग करता है
- गुलाम Executes SQL
- गुलाम SQL इवेंट के पूर्ण निष्पादन के मास्टर को स्वीकार करता है
यह नया प्रतिमान एक दास को अपने मास्टर के समीप सिंक करने की अनुमति देगा।
इसके बावजूद, नेटवर्क के भीतर विलंबता MySQL Semisync प्रतिकृति को उस स्थिति में बाधित कर सकती है जहां यह पुरानी शैली के अतुल्यकालिक प्रतिकृति पर वापस लौटती है। क्यों ? यदि किसी भी दास के लेन-देन को स्वीकार किए बिना समय समाप्त हो जाता है, तो मास्टर एसिंक्रोनस प्रतिकृति के लिए पुन: पेश करता है। जब कम से कम एक सेमीसिंक्रोनस गुलाम पकड़ लेता है, तो मास्टर सेमीसिंक्रोनस प्रतिकृति में वापस आ जाता है।
UPDATE 2011-08-08 14:22 EDT
MySQL 5.5 सेमीसिंक्रोनस प्रतिकृति का कॉन्फ़िगरेशन सीधा है
चरण 1) इन चार (4) लाइनों को /etc/my.cnf में जोड़ें
[mysqld]
plugin-dir=/usr/lib64/mysql/plugin
#rpl_semi_sync_master_enabled
#rpl_semi_sync_master_timeout=5000
#rpl_semi_sync_slave_enabled
चरण 2) MySQL को पुनरारंभ करें
service mysql restart
चरण 3) इन कमांड को MySQL क्लाइंट में चलाएं
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
चरण 4) प्लगइन- dir विकल्प के बाद तीन rpm_semi_sync विकल्पों को रद्द करें
[mysqld]
plugin-dir=/usr/lib64/mysql/plugin
rpl_semi_sync_master_enabled
rpl_semi_sync_master_timeout=5000
rpl_semi_sync_slave_enabled
चरण 5) MySQL को पुनरारंभ करें
service mysql restart
सब कुछ कर दिया !!! अब हमेशा की तरह MySQL प्रतिकृति सेट करें।