Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैसकल डीबी को फिर से कैसे सिंक करें यदि मास्टर और दास के पास मैसकल प्रतिकृति के अलग-अलग डेटाबेस हैं?

यह मास्टर-स्लेव प्रतिकृति को स्क्रैच से फिर से सिंक करने की पूरी चरण-दर-चरण प्रक्रिया है:

मास्टर में:

RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

और परिणाम के मान कॉपी करें कहीं अंतिम आदेश का।

क्लाइंट से कनेक्शन बंद किए बिना (क्योंकि यह रीड लॉक जारी करेगा) मास्टर का डंप प्राप्त करने के लिए कमांड जारी करें:

mysqldump -u root -p --all-databases > /a/path/mysqldump.sql

अब आप लॉक को छोड़ सकते हैं, भले ही डंप अभी तक समाप्त न हुआ हो। ऐसा करने के लिए, MySQL क्लाइंट में निम्न कमांड निष्पादित करें:

UNLOCK TABLES;

अब डंप फ़ाइल को scp या अपने पसंदीदा टूल का उपयोग करके स्लेव में कॉपी करें।

दास पर:

mysql से कनेक्शन खोलें और टाइप करें:

STOP SLAVE;

इस कंसोल कमांड के साथ मास्टर का डेटा डंप लोड करें:

mysql -uroot -p < mysqldump.sql

स्लेव और मास्टर लॉग को सिंक करें:

RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;

जहां उपरोक्त फ़ील्ड के मान वही हैं जिनकी आपने पहले प्रतिलिपि बनाई थी।

अंत में टाइप करें:

START SLAVE;

यह जांचने के लिए कि सब कुछ फिर से काम कर रहा है, टाइप करने के बाद:

SHOW SLAVE STATUS;

आपको देखना चाहिए:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

इतना ही!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL #1093 - आप खंड से अद्यतन के लिए लक्ष्य तालिका 'सस्ता' निर्दिष्ट नहीं कर सकते हैं

  2. MySQL कार्यक्षेत्र में CSV आयात कैसे करें

  3. टूटे हुए UTF-8 एन्कोडिंग को ठीक करना

  4. शीर्ष MySQL कार्यक्षेत्र विकल्प

  5. MySQL मिलीसेकंड/माइक्रोसेकंड परिशुद्धता का समर्थन क्यों नहीं करता है?