एंड्रॉयड

Mysql (mariadb) मास्टर को कैसे कॉन्फ़िगर करें

कैसे कॉन्फ़िगर MySQL मास्टर-दास उबंटू लिनक्स पर प्रतिकृति करने के लिए

कैसे कॉन्फ़िगर MySQL मास्टर-दास उबंटू लिनक्स पर प्रतिकृति करने के लिए

विषयसूची:

Anonim

MySQL प्रतिकृति एक डेटाबेस सर्वर (मास्टर) से एक या अधिक सर्वर (दास) के डेटा की प्रतिलिपि बनाने की एक प्रक्रिया है।

MySQL मास्टर / स्लेव टोपोलॉजी के साथ कई प्रतिकृति टोपोलॉजी का समर्थन करता है जो सबसे प्रसिद्ध टोपोलॉजी में से एक है जिसमें एक डेटाबेस सर्वर मास्टर के रूप में कार्य करता है, जबकि एक या अधिक सर्वर दास के रूप में कार्य करते हैं। डिफ़ॉल्ट रूप से, प्रतिकृति एसिंक्रोनस होती है जहां मास्टर अपने बाइनरी लॉग में डेटाबेस संशोधनों का वर्णन करने वाली घटनाओं को भेजता है और दास तैयार होने पर घटनाओं का अनुरोध करते हैं।

इस गाइड में, हम आपको बताएंगे कि डेबियन 10. पर एक मास्टर और एक स्लेव सर्वर के साथ मारबीडीबी मास्टर / स्लेव प्रतिकृति कैसे सेट करें। मारियाबेड डेबियन में MySQL का डिफ़ॉल्ट कार्यान्वयन है। Oracle MySQL के लिए वही चरण लागू होते हैं।

इस प्रकार की प्रतिकृति टोपोलॉजी रीड स्केलिंग, लाइव डेटाबेस बैकअप के लिए आपदा पुनर्प्राप्ति के लिए और एनालिटिक्स नौकरियों के लिए रीड प्रतिकृतियां तैनात करने के लिए सबसे उपयुक्त है।

आवश्यक शर्तें

हम मान रहे हैं कि आपके पास डेबियन 10 चलाने वाले दो सर्वर हैं, जो एक निजी नेटवर्क पर एक दूसरे के साथ संचार करते हैं। यदि आपका होस्टिंग प्रदाता निजी आईपी पते का समर्थन नहीं करता है, तो आप केवल विश्वसनीय स्रोतों से पोर्ट 3306 पर यातायात की अनुमति देने के लिए सार्वजनिक आईपी पते का उपयोग कर सकते हैं और अपने फ़ायरवॉल को कॉन्फ़िगर कर सकते हैं।

इस उदाहरण में उपयोग किए गए सर्वरों में निम्नलिखित आईपी पते हैं:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

MariaDB स्थापित करना

डिफ़ॉल्ट डेबियन 10 रिपॉजिटरी में मारियाडीबी संस्करण 10.3 शामिल है। किसी भी संभावित मुद्दों से बचने के लिए दोनों सर्वरों पर एक ही MariaDB संस्करण स्थापित करना सबसे अच्छा है।

निम्नलिखित आदेश जारी करके मास्टर और दास दोनों पर MariaDB स्थापित करें:

sudo apt-get update sudo apt-get install mariadb-server

मास्टर सर्वर को कॉन्फ़िगर करना

पहला कदम मास्टर सर्वर स्थापित करना है। हम निम्नलिखित बदलाव करेंगे:

  • निजी IP.Set एक अद्वितीय सर्वर ID.Enable बाइनरी लॉगिंग को सुनने के लिए MariaDB सर्वर सेट करें।

मारियाडीबी कॉन्फ़िगरेशन फ़ाइल खोलें और निम्न पंक्तियों को सेट या अनफिल्ट करें:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf गुरु: /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 10.10.8.12 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log

एक बार हो जाने के बाद, फ़ाइल को सहेजें और प्रभावी होने के लिए MySQL सेवा को फिर से शुरू करें:

sudo systemctl restart mariadb

अगला कदम एक नया प्रतिकृति उपयोगकर्ता बनाना है। रूट उपयोगकर्ता के रूप में MariaDB सर्वर में लॉग इन करें:

sudo mysql

replica नामक उपयोगकर्ता बनाने के लिए निम्न SQL क्वेरी चलाएँ और उपयोगकर्ता को विशेषाधिकार REPLICATION SLAVE विशेषाधिकार प्रदान करें:

CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; सुनिश्चित करें कि आप अपने गुलाम आईपी पते के साथ आईपी को बदलते हैं। आप चाहें तो यूजर को नाम दे सकते हैं।

MySQL प्रॉम्प्ट के अंदर रहते हुए भी, निम्न कमांड निष्पादित करें जो बाइनरी फ़ाइल नाम और स्थिति को प्रिंट करेगा।

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 328 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.001 sec)

फ़ाइल नाम, 'mysql-bin.000001' और स्थिति '328' पर ध्यान दें । दास सर्वर को कॉन्फ़िगर करते समय ये मान आवश्यक होते हैं और संभवतः आपके सर्वर पर भिन्न होंगे।

स्लेव सर्वर को कॉन्फ़िगर करना

हम गुलाम सर्वर पर उतने ही बदलाव लाएंगे जितने गुरु के रूप में:

  • निजी IP पर सुनने के लिए MySQL सर्वर सेट करें। एक अद्वितीय सर्वर ID.Enable बाइनरी लॉगिंग करें।

मारियाडीबी कॉन्फ़िगरेशन फ़ाइल खोलें और निम्नलिखित पंक्तियों को संपादित करें:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf गुलाम: /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 10.10.8.164 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log

मारियाडीबी सेवा को फिर से शुरू करें:

sudo systemctl restart mariadb

अगला चरण उन मापदंडों को कॉन्फ़िगर करना है जो दास सर्वर मास्टर सर्वर से कनेक्ट करने के लिए उपयोग करेगा। मारियाडीबी शेल में लॉगिन करें:

sudo mysql

दास धागे को रोकना शुरू करें:

STOP SLAVE;

मास्टर / दास प्रतिकृति को कॉन्फ़िगर करने के लिए निम्न क्वेरी चलाएँ:

MASTER_HOST='10.10.8.12', MASTER_USER='replica', MASTER_HOST='10.10.8.12', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328;

सुनिश्चित करें कि आप सही IP पते, उपयोगकर्ता नाम और पासवर्ड का उपयोग कर रहे हैं। लॉग फ़ाइल नाम और स्थिति मास्टर सर्वर से प्राप्त मानों के समान होनी चाहिए।

एक बार हो जाने के बाद, दास के धागे शुरू करें।

START SLAVE;

कॉन्फ़िगरेशन का परीक्षण करें

इस बिंदु पर, आपके पास एक कार्यशील मास्टर / दास प्रतिकृति सेटअप होना चाहिए।

यह सत्यापित करने के लिए कि सब कुछ सही तरीके से सेटअप है, मास्टर सर्वर पर एक नया डेटाबेस बनाएं:

sudo mysql

CREATE DATABASE replicatest;

गुलाम MySQL शेल में लॉगिन करें:

sudo mysql

सभी डेटाबेस को सूचीबद्ध करने के लिए निम्नलिखित कमांड चलाएँ:

SHOW DATABASES;

आप देखेंगे कि आपने मास्टर सर्वर पर जो डेटाबेस बनाया है, वह गुलाम पर दोहराया गया है:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

निष्कर्ष

इस ट्यूटोरियल में, हमने आपको डेबियन 10 पर एक MariaDB Master / Slave प्रतिकृति बनाने के लिए दिखाया है।

यदि आपके कोई प्रश्न हैं, तो टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें।

डेबियन माइस्कल मारियाडब