RHEL 8 இல் MySQL மாஸ்டர்-ஸ்லேவ் பிரதிகளை எவ்வாறு அமைப்பது


MySQL Replication என்பது ஒரு சேவையகத்திலிருந்து தரவுகள் தானாக நகலெடுக்கப்படும் அல்லது நிகழ்நேரத்தில் மற்றொரு காப்புப்பிரதி சேவையகத்தில் நகலெடுக்கப்படும் ஒரு செயல்முறையாகும். பிரதிபலிப்பு பணிநீக்கம் மற்றும் தவறு சகிப்புத்தன்மையை வழங்குகிறது மற்றும் முதன்மை சேவையகத்தில் தோல்வியடைந்த பின்னரும் தரவை மீட்டெடுக்க முடியும் என்பது பயனருக்கு மன அமைதியை அளிக்கிறது.

இந்த டுடோரியலில், ஒரு RHEL 8 லினக்ஸில் MySQL மாஸ்டர்-ஸ்லேவ் பிரதிகளை எவ்வாறு கட்டமைப்பது மற்றும் அமைப்பது என்பதை நீங்கள் கற்றுக் கொள்ளப் போகிறீர்கள்.

அமைப்பில், பின்வரும் ஐபி முகவரிகளுடன் RHEL 8 இயங்கும் இரண்டு சேவையகங்களைக் கொண்டிருக்கிறோம்.

Master = 173.82.120.14
Slave  = 173.82.115.165

இப்போது தொடரலாம் மற்றும் RHEL 8 லினக்ஸில் MySQL மாஸ்டர்-ஸ்லேவ் ரெப்ளிகேஷன் அமைப்பை எவ்வாறு கட்டமைக்க முடியும் என்று பார்ப்போம்.

படி 1: மாஸ்டர் மற்றும் ஸ்லேவ் சேவையகத்தில் MySQL ஐ நிறுவவும்

1. MySQL 8.x இன் சமீபத்திய பதிப்பு ஏற்கனவே RHEL 8 இன் இயல்புநிலை களஞ்சியத்தில் சேர்க்கப்பட்டுள்ளது, மேலும் பின்வரும் yum கட்டளையைப் பயன்படுத்தி அதை நிறுவலாம்.

# yum -y install @mysql

படி 2: மாஸ்டர் மற்றும் ஸ்லேவ் சேவையகத்தில் MySQL ஐப் பாதுகாக்கவும்

நிறுவிய பின், இப்போது நீங்கள் நிறுவிய MySQL சேவையைத் தொடங்க வேண்டும், ஒவ்வொரு முறையும் நீங்கள் சேவையகத்தைத் தொடங்கும்போது தானாகவே தொடங்க வேண்டும். எனவே, பின்வரும் கட்டளையைப் பயன்படுத்தவும்.

# systemctl enable mysqld
# systemctl start mysqld

அடுத்து, ரூட் கடவுச்சொல்லை அமைத்தல், அநாமதேய பயனர்களை நீக்குதல், ரூட் உள்நுழைவை தொலைவிலிருந்து அனுமதிக்காதது, சோதனை தரவுத்தளத்தை அகற்றுதல் மற்றும் சலுகையை மீண்டும் ஏற்றுதல் போன்ற பல பாதுகாப்பு அடிப்படையிலான செயல்பாடுகளுடன் வரும் பாதுகாப்பு ஸ்கிரிப்டை இயக்குவதன் மூலம் உங்கள் MySQL நிறுவலைப் பாதுகாக்க வேண்டும்.

# mysql_secure_installation

மீதமுள்ள வரியில் தொடரவும் மற்றும் அனைத்து கேள்விகளுக்கும் ஆம் என்று பதிலளிக்கவும், எனவே சிறந்த பாதுகாப்பு நடைமுறைகளுக்கு சேவையகத்தை அமைக்கவும்.

படி 3: MySQL முதன்மை சேவையகத்தை உள்ளமைக்கிறது

முதன்மை சேவையக உள்ளமைவுடன் தொடங்க, பின்வரும் கட்டளையைத் தட்டச்சு செய்வதன் மூலம் MySQL உள்ளமைவு கோப்பைத் தொடரவும்.

$ sudo vim /etc/my.cnf

mysqld பிரிவில், கீழே காட்டப்பட்டுள்ளபடி வரிகளைச் சேர்க்கவும்.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

இறுதியாக, MySQL சேவையை மறுதொடக்கம் செய்யுங்கள்.

$ sudo systemctl restart mysqld

இப்போது நாம் ஒரு பிரதி பயனரை உருவாக்கப் போகிறோம். எனவே, உங்கள் MySQL முதன்மை சேவையகத்தில் ரூட் பயனராக உள்நுழைந்து கடவுச்சொல்லை வழங்கவும்.

$ sudo mysql -u root -p

இப்போது பிரதி பயனரை உருவாக்க பின்வரும் கட்டளைகளை இயக்கவும், அதே நேரத்தில் பயனருக்கு அடிமை அணுகலை வழங்கவும். உங்கள் கணினிகளின் ஐபி முகவரியைப் பயன்படுத்த நினைவில் கொள்க.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

இப்போது, பைனரி கோப்பு பெயர் மற்றும் நிலையை அச்சிடும் பின்வரும் கட்டளையை நீங்கள் தட்டச்சு செய்யப் போகிறீர்கள்.

mysql> SHOW MASTER STATUS\G

இதன் விளைவாக வரும் கோப்பு பெயர் msql-bin.000002 மற்றும் அதன் நிலை 939 ஐ கவனத்தில் கொள்ள நினைவில் கொள்க.

படி 4: MySQL அடிமை சேவையகத்தை கட்டமைத்தல்

மாஸ்டரை அமைப்பதற்கான செயல்முறையைப் போலவே, நீங்கள் mysql அடிமை உள்ளமைவு கோப்பில் பின்வரும் மாற்றங்களைச் செய்ய வேண்டும்.

$ sudo vim  /etc/my.cnf

mysqld பிரிவின் கீழ் உள்ளமைவு கோப்பில் பின்வரும் வரிகளைச் சேர்க்கவும்.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

சேவையகத்தை மறுதொடக்கம் செய்யுங்கள்.

$ sudo systemctl restart mysqld

இப்போது அடுத்த கட்டமாக மாஸ்டர் சேவையகத்திலிருந்து நகலெடுக்க அடிமை சேவையகத்தை உள்ளமைக்க வேண்டும். MySQL சேவையகத்தில் உள்நுழைக.

$ sudo mysql -u root -p

முதலில், பிரதி நூல்களை நிறுத்துங்கள்.

mysql> STOP SLAVE;

இப்போது, பின்வரும் வினவலை இயக்கவும், அது அடிமையை முதன்மை சேவையகத்திலிருந்து நகலெடுக்க கட்டமைக்கும்.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='[email ' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

நீங்கள் சரியான ஐபி பயனர்பெயர் மற்றும் கடவுச்சொல்லைப் பயன்படுத்துகிறீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள். மேலும், முதன்மை சேவையகத்திலிருந்து உங்களுக்கு கிடைத்த கோப்பு பெயர் மற்றும் நிலையைப் பயன்படுத்தவும்.

இறுதியாக, அடிமை நூல்களைத் தொடங்க பின்வரும் கட்டளையைத் தட்டச்சு செய்க.

mysql> START SLAVE;

படி 5: MySQL மாஸ்டர்-ஸ்லேவ் பிரதிகளை சோதித்தல்

இந்த கட்டத்தில், நீங்கள் முதன்மை மற்றும் அடிமை சேவையகங்களின் உள்ளமைவை முடித்துவிட்டீர்கள். உள்ளமைவு செயல்படுகிறதா, நகலெடுக்க முடியுமா என்பதை இப்போது சரிபார்க்க வேண்டும்.

இதைச் செய்ய, முதன்மை சேவையகத்திற்குச் சென்று MySQL தரவுத்தள சேவையகத்தில் உள்நுழைக.

$ sudo mysql -u root -p

மாதிரி தரவுத்தளத்தை உருவாக்கவும்.

mysql> CREATE DATABASE replication_database;

இப்போது ஸ்லேவ் சேவையகத்திற்குச் சென்று, மீண்டும், MySQL தரவுத்தள சேவையகத்தில் உள்நுழைக.

$ sudo mysql -u root -p

இப்போது பின்வரும் கட்டளையைப் பயன்படுத்தி அனைத்து தரவுத்தளங்களையும் பட்டியலிடுங்கள்.

mysql> SHOW DATABASES;

நீங்கள் உருவாக்கிய தரவுத்தளத்தைக் கண்டால், MySQL மாஸ்டர்-ஸ்லேவ் ரெப்ளிகேஷன் அமைப்பு செயல்படுகிறது.

பிரதிபலிப்பு என்பது மிகவும் எளிமையான செயல்முறையாகும், இது எளிதாக செய்ய முடியும். இந்த வழிகாட்டியில், ஒரு RHEL 8 லினக்ஸில் அடிமைப்படுத்த ஒரு MySQL மாஸ்டரின் நகலை எவ்வாறு உருவாக்கலாம் என்பதை நீங்கள் கற்றுக்கொண்டீர்கள்.