नवीनीकरण के दौरान किसी भी डाउनटाइम से बचने के लिए यह भी पॉसिबल है।
इसे करने का तरीका संक्षिप्त रूप से पढ़े गए प्रतिकृति स्नैपशॉट से एक नया RDS लॉन्च करके और इसे मास्टर प्रतिकृति में सक्रिय / सक्रिय मास्टर के रूप में कॉन्फ़िगर करना है। एक बार इसे कॉन्फ़िगर करने के बाद, आप बिना किसी डाउनटाइम के एप्लिकेशन ट्रैफ़िक को एक एपीपी सर्वर पर स्विच कर सकते हैं। हम हर बार एडब्ल्यूएस आरडीएस मेंटेनेंस की घोषणा करते हैं ताकि डाउनटाइम के साथ-साथ हमारे शेड्यूल किए गए मेनटेनेंस से भी बचा जा सके।
https://workmarket.tech/zero-downtime-maintenances-on-mysql-rds-ba13b51103c2
यहाँ विवरण हैं:
एम 1 - ओरिजिनल मास्टर
आर 1 - एम 1 की प्रतिकृति पढ़ें
SNAP1 - R1 का स्नैपशॉट
एम 2 - नए मास्टर
एम 2 निर्माण अनुक्रम:
M1 → R1 → SNAP1 → M2
चूंकि हम RDS पर सुपर विशेषाधिकार का उपयोग नहीं कर सकते हैं, हम — master_data2
M1 पर विकल्प के साथ mysqldump का उपयोग नहीं करते हैं । इसके बजाय, हम आर 1 को एम 1 के बिनलॉग स्थिति से प्राप्त करने के लिए लॉन्च करते हैं। फिर R1 से एक स्नैपशॉट (SNAP1) बनाएं और फिर SNAP1 से M2 लॉन्च करें।
पीके टकराव से बचने के लिए निम्नलिखित ऑफसेट के साथ दो अलग RDS पैरामीटर समूह बनाएं:
M1: auto_increment_ increment = 4 and auto_increment_offset = 1
M2: auto_increment_ increment = 4 and auto_increment_offset = 2
M1 पर प्रतिकृति उपयोगकर्ता बनाएँ
GRANT EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO
‘repl’@’%’ IDENTIFIED BY PASSWORD <secret>;
1. M1 से R1 बनाएं
-- Connect to the R1 and stop replication
CALL mysql.rds_stop_replication;
-- Obtain M1’s (!!) current binlog file and position
`mysql> show slave status\G
Master_Log_File: mysql-bin.000622
Exec_Master_Log_Pos: 9135555
2. R1 से SNAP1 बनाएं
4. सेटअप एम / एम प्रतिकृति
-- Configure M2 as a slave of M1
CALL mysql.rds_set_external_master (‘m1.xyxy24.us-east-1.rds.amazonaws.com’, 3306, ‘repl’, ‘mypassword’, ‘mysql-bin.000622, 9135555, 0);
CALL mysql.rds_start_replication;
-- Connect to M2 and obtain its current binlog file and position
mysql> show master status\G
File: mysql-bin.004444
Position: 6666622
-- Connect to M1 and configure it to be a slave of the M2
CALL mysql.rds_set_external_master (‘m2.xyxy24.us-east-1.rds.amazonaws.com’, 3306 , ‘repl’, ‘mypassword’, ‘mysql-bin.004444, 6666622, 0);
CALL mysql.rds_start_replication;
5. R1 और SNAP1 को हटा दें क्योंकि उन्हें अब आवश्यकता नहीं है
6. एडब्ल्यूएस कंसोल के माध्यम से एम 2 को अपग्रेड करें
अपनी आवश्यकताओं के अनुसार इंस्टेंस को संशोधित करने के लिए मानक प्रक्रिया का उपयोग करें।
7. M2 को ग्रेसफुल स्विचओवर निष्पादित करें
जैसा कि एम / एम प्रतिकृति सफलतापूर्वक स्थापित किया गया है, हम समय पर ऐप सर्वरों को एक बार स्विच करके बिना डाउनटाइम डीबी रखरखाव के साथ आगे बढ़ने के लिए तैयार हैं।
यह कैसे काम करता है, इसके बारे में अधिक विवरण यहां दिए गए हैं।
https://workmarket.tech/zero-downtime-maintenances-on-mysql-rds-ba13b51103c2