RHEL 8-ൽ MySQL മാസ്റ്റർ-സ്ലേവ് റെപ്ലിക്കേഷൻ എങ്ങനെ സജ്ജീകരിക്കാം
MySQL Replication എന്നത് ഒരു സെർവറിൽ നിന്നുള്ള ഡാറ്റ യാന്ത്രികമായി പകർത്തുകയോ മറ്റൊരു ബാക്കപ്പ് സെർവറിലേക്ക് തത്സമയം പകർത്തുകയോ ചെയ്യുന്ന ഒരു പ്രക്രിയയാണ്. റെപ്ലിക്കേഷൻ ആവർത്തനവും തെറ്റ് സഹിഷ്ണുതയും നൽകുന്നു, കൂടാതെ മാസ്റ്റർ സെർവറിലെ ഒരു പരാജയത്തിന് ശേഷവും ഡാറ്റ വീണ്ടെടുക്കാൻ കഴിയുമെന്ന് ഉപയോക്താവിന് സമാധാനം നൽകുന്നു.
ഈ ട്യൂട്ടോറിയലിൽ, ഒരു RHEL 8 Linux-ൽ MySQL മാസ്റ്റർ-സ്ലേവ് റെപ്ലിക്കേഷൻ എങ്ങനെ ക്രമീകരിക്കാമെന്നും സജ്ജീകരിക്കാമെന്നും നിങ്ങൾ പഠിക്കാൻ പോകുന്നു.
സജ്ജീകരണത്തിൽ, ഇനിപ്പറയുന്ന IP വിലാസങ്ങളുള്ള RHEL 8 പ്രവർത്തിക്കുന്ന രണ്ട് സെർവറുകൾ ഞങ്ങൾക്കുണ്ട്.
Master = 173.82.120.14 Slave = 173.82.115.165
RHEL 8 Linux-ൽ MySQL മാസ്റ്റർ-സ്ലേവ് റെപ്ലിക്കേഷൻ സജ്ജീകരണം എങ്ങനെ ക്രമീകരിക്കാമെന്ന് നോക്കാം.
ഘട്ടം 1: മാസ്റ്ററിലും സ്ലേവ് സെർവറിലും MySQL ഇൻസ്റ്റാൾ ചെയ്യുക
1. MySQL 8.x-ന്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഇതിനകം തന്നെ RHEL 8-ന്റെ ഡിഫോൾട്ട് ശേഖരണത്തിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, താഴെ പറയുന്ന yum കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് ഇൻസ്റ്റാൾ ചെയ്യാവുന്നതാണ്.
# yum -y install @mysql
ഘട്ടം 2: മാസ്റ്ററിലും സ്ലേവ് സെർവറിലും MySQL സുരക്ഷിതമാക്കുക
ഇൻസ്റ്റാളേഷന് ശേഷം, നിങ്ങൾ ഇപ്പോൾ ഇൻസ്റ്റാൾ ചെയ്ത MySQL സേവനം ആരംഭിക്കുകയും നിങ്ങൾ സെർവർ ആരംഭിക്കുമ്പോഴെല്ലാം അത് യാന്ത്രികമായി ആരംഭിക്കുകയും വേണം. അതിനാൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.
# systemctl enable mysqld # systemctl start mysqld
അടുത്തതായി, റൂട്ട് പാസ്uവേഡ് സജ്ജീകരിക്കുക, അജ്ഞാത ഉപയോക്താക്കളെ നീക്കം ചെയ്യുക, റൂട്ട് ലോഗിൻ വിദൂരമായി അനുവദിക്കാതിരിക്കുക, ടെസ്റ്റ് ഡാറ്റാബേസ് നീക്കം ചെയ്യുക, റീലോഡ് പ്രിവിലേജ് എന്നിങ്ങനെയുള്ള നിരവധി സുരക്ഷാ-അടിസ്ഥാന പ്രവർത്തനങ്ങൾക്കൊപ്പം വരുന്ന സെക്യൂരിറ്റി സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ച് നിങ്ങളുടെ 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 മാസ്റ്റർ സെർവറിൽ പ്രവേശിച്ച് പാസ്uവേഡ് നൽകുക.
$ sudo mysql -u root -p
ഇപ്പോൾ പകർപ്പ് ഉപയോക്താവിനെ സൃഷ്ടിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക, അതേ സമയം ഉപയോക്താവിന് സ്ലേവ് ആക്സസ് അനുവദിക്കുക. നിങ്ങളുടെ മെഷീന്റെ IP വിലാസം ഉപയോഗിക്കാൻ ഓർമ്മിക്കുക.
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;
നിങ്ങൾ ശരിയായ ഐപി ഉപയോക്തൃനാമവും പാസ്uവേഡും ഉപയോഗിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക. കൂടാതെ, മാസ്റ്റർ സെർവറിൽ നിന്ന് നിങ്ങൾക്ക് ലഭിച്ച ഫയലിന്റെ പേരും സ്ഥാനവും ഉപയോഗിക്കുക.
അവസാനമായി, സ്ലേവ് ത്രെഡുകൾ ആരംഭിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്യുക.
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 Master-Slave Replication സെറ്റപ്പ് പ്രവർത്തിക്കുന്നു.
എളുപ്പത്തിൽ ചെയ്യാവുന്ന വളരെ ലളിതമായ ഒരു പ്രക്രിയയാണ് അനുകരണം. ഈ ഗൈഡിൽ, ഒരു RHEL 8 Linux-ൽ സ്ലേവ് ചെയ്യാൻ MySQL മാസ്റ്ററിന്റെ ഒരു പകർപ്പ് എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് നിങ്ങൾ പഠിച്ചു.