एंड्रॉयड

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

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

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

विषयसूची:

Anonim

MySQL प्रतिकृति एक ऐसी प्रक्रिया है जो एक डेटाबेस सर्वर से डेटा को स्वचालित रूप से एक या अधिक सर्वर पर कॉपी करने की अनुमति देती है।

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

यह ट्यूटोरियल उबंटू 18.04 पर एक मास्टर और एक दास सर्वर के साथ MySQL मास्टर / स्लेव प्रतिकृति के मूल उदाहरण को शामिल करता है। मारियाबीडी के लिए वही कदम लागू होते हैं।

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

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

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

इस उदाहरण के सर्वरों में निम्नलिखित IP हैं:

Master IP: 192.168.121.190 Slave IP: 192.168.121.236

MySQL स्थापित करें

डिफॉल्ट उबंटू 18.04 रिपॉजिटरी में MySQL संस्करण 5.7 शामिल है। किसी भी समस्या से बचने के लिए, दोनों सर्वर पर एक ही MySQL संस्करण को स्थापित करना सबसे अच्छा है।

मास्टर सर्वर पर MySQL स्थापित करें:

sudo apt-get update sudo apt-get install mysql-server

उसी आदेश का उपयोग करके दास सर्वर पर MySQL स्थापित करें:

sudo apt-get update sudo apt-get install mysql-server

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

पहला कदम मास्टर MySQL सर्वर को कॉन्फ़िगर करना है। हम निम्नलिखित बदलाव करेंगे:

  • निजी IP पर सुनने के लिए MySQL सर्वर सेट करें। एक अद्वितीय सर्वर आईडी सेट करें। बाइनरी लॉगिंग को सक्षम करें

ऐसा करने के लिए MySQL कॉन्फ़िगरेशन फ़ाइल खोलें और निम्नलिखित को सेट करें या सेट करें:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf गुरु: /etc/mysql/mysql.conf.d/mysqld.cnf

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

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

sudo systemctl restart mysql

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

sudo mysql

MySQL प्रॉम्प्ट के अंदर से, निम्नलिखित SQL क्वेश्चन चलाएं जो replica उपयोगकर्ता बनाएंगे और उपयोगकर्ता को REPLICATION SLAVE विशेषाधिकार प्रदान करेंगे:

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

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

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

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)

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

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

ऊपर दिए गए मास्टर सर्वर के लिए, हम गुलाम सर्वर में निम्नलिखित बदलाव करेंगे:

  • निजी IPSet पर एक अद्वितीय सर्वर को सुनने के लिए MySQL सर्वर सेट करें बाइनरी लॉगिंग को पहचानने योग्य

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

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf गुलाम: /etc/mysql/mysql.conf.d/mysqld.cnf

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

MySQL सेवा को पुनरारंभ करें:

sudo systemctl restart mysql

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

sudo mysql

सबसे पहले, दास के धागे बंद करो:

STOP SLAVE;

निम्नलिखित क्वेरी को चलाएँ जो स्वामी को दोहराने के लिए दास स्थापित करेगा:

MASTER_HOST='192.168.121.190', CHANGE MASTER TO MASTER_HOST='192.168.121.190', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=629;

सुनिश्चित करें कि आप सही 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)

निष्कर्ष

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

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

ubuntu mysql mariadb