Πώς να ρυθμίσετε το MySQL Master-Slave Replication στο RHEL 8


Η Αντιγραφή MySQL είναι μια διαδικασία κατά την οποία τα δεδομένα από έναν διακομιστή αντιγράφονται αυτόματα ή αναπαράγονται σε άλλον εφεδρικό διακομιστή σε πραγματικό χρόνο. Η αναπαραγωγή παρέχει πλεονασμό και ανοχή σφαλμάτων και παρέχει στον χρήστη ηρεμία ότι ακόμα και μετά από αποτυχία στον κύριο διακομιστή, τα δεδομένα μπορούν να ανακτηθούν.

Σε αυτό το σεμινάριο, θα μάθετε πώς να διαμορφώνετε και να ρυθμίζετε μια αναπαραγωγή Master-slave της MySQL σε ένα RHEL 8 Linux.

Προαπαιτούμενα

Κατά τη ρύθμιση, θα έχουμε δύο διακομιστές που εκτελούν RHEL 8 με τις ακόλουθες διευθύνσεις IP.

Master = 173.82.120.14
Slave  = 173.82.115.165

Ας προχωρήσουμε τώρα και ας δούμε πώς μπορούμε να διαμορφώσουμε τη ρύθμιση αναπαραγωγής MySQL Master-slave στο RHEL 8 Linux.

Βήμα 1: Εγκαταστήστε τη MySQL σε διακομιστή Master και Slave

1. Η πιο πρόσφατη έκδοση του MySQL 8.x περιλαμβάνεται ήδη στον προεπιλεγμένο χώρο αποθήκευσης του RHEL 8 και μπορείτε να το εγκαταστήσετε χρησιμοποιώντας τα ακόλουθα εντολή yum.

yum -y install @mysql

Βήμα 2: Ασφαλίστε την MySQL στον κύριο και τον υποτελή διακομιστή

Μετά την εγκατάσταση, θα πρέπει τώρα να ξεκινήσετε την υπηρεσία MySQL που μόλις εγκαταστήσατε και να την κάνετε να ξεκινά αυτόματα κάθε φορά που ξεκινάτε τον διακομιστή. Επομένως, χρησιμοποιήστε την ακόλουθη εντολή.

systemctl enable mysqld
systemctl start mysqld

Στη συνέχεια, πρέπει να ασφαλίσετε την εγκατάσταση της MySQL εκτελώντας το σενάριο ασφαλείας που συνοδεύεται από πολλές λειτουργίες που βασίζονται στην ασφάλεια, όπως ορισμός του κωδικού πρόσβασης root, κατάργηση ανώνυμων χρηστών, απαγόρευση της απομακρυσμένης σύνδεσης root, κατάργηση δοκιμαστικής βάσης δεδομένων και εκ νέου φόρτωση του προνομίου.

mysql_secure_installation

Συνεχίστε με το υπόλοιπο μήνυμα και απαντήστε Ναι σε όλες τις ερωτήσεις, επομένως ρυθμίστε τον διακομιστή σύμφωνα με τις βέλτιστες πρακτικές ασφαλείας.

Βήμα 3: Διαμόρφωση του Master Server MySQL

Για να ξεκινήσετε με τη διαμόρφωση του διακομιστή Master, προχωρήστε και ανοίξτε το αρχείο διαμόρφωσης 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 ως χρήστης root και δώστε τον κωδικό πρόσβασης.

sudo mysql -u root -p

Τώρα εκτελέστε τις ακόλουθες εντολές για να δημιουργήσετε τον χρήστη αντίγραφο, ενώ ταυτόχρονα εκχωρείτε στον χρήστη πρόσβαση στο slave. Θυμηθείτε να χρησιμοποιήσετε τη διεύθυνση 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 Slave Server

Ακριβώς όπως η διαδικασία ρύθμισης του κύριου, θα πρέπει να κάνετε τις ακόλουθες αλλαγές στο αρχείο διαμόρφωσης slave mysql.

sudo vim  /etc/my.cnf

Προσθέστε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων στην ενότητα mysqld.

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

Κάντε επανεκκίνηση του διακομιστή.

sudo systemctl restart mysqld

Τώρα το επόμενο βήμα είναι να ρυθμίσετε τις παραμέτρους του slave server για αναπαραγωγή από τον Master server. Συνδεθείτε στον διακομιστή MySQL.

sudo mysql -u root -p

Πρώτα, σταματήστε τα νήματα αναπαραγωγής.

mysql> STOP SLAVE;

Τώρα, εκτελέστε το ακόλουθο ερώτημα που θα ρυθμίσει τις παραμέτρους του slave για αναπαραγωγή από τον κύριο διακομιστή.

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

Βεβαιωθείτε ότι χρησιμοποιείτε το σωστό όνομα χρήστη και κωδικό πρόσβασης IP. Επίσης, χρησιμοποιήστε το όνομα αρχείου και τη θέση που λάβατε από τον κύριο διακομιστή.

Τέλος, πληκτρολογήστε την ακόλουθη εντολή για να ξεκινήσετε τα slave νήματα.

mysql> START SLAVE;

Βήμα 5: Δοκιμή MySQL Master-Slave Replication

Σε αυτό το σημείο, έχετε ολοκληρώσει τη διαμόρφωση τόσο του κύριου όσο και του υποτελούς διακομιστή. Τώρα πρέπει να επαληθεύσουμε εάν η διαμόρφωση λειτουργεί και αν μπορεί να πραγματοποιηθεί η αναπαραγωγή.

Για να το κάνετε αυτό, μεταβείτε στον κύριο διακομιστή και συνδεθείτε στον διακομιστή βάσης δεδομένων MySQL.

sudo mysql -u root -p

Δημιουργήστε ένα δείγμα βάσης δεδομένων.

mysql> CREATE DATABASE replication_database;

Τώρα κατευθυνθείτε στον διακομιστή Slave και ξανά, συνδεθείτε στον διακομιστή βάσης δεδομένων MySQL.

sudo mysql -u root -p

Τώρα απαριθμήστε όλες τις βάσεις δεδομένων χρησιμοποιώντας την ακόλουθη εντολή.

mysql> SHOW DATABASES;

Εάν δείτε τη βάση δεδομένων που δημιουργήθηκε, τότε λειτουργεί η ρύθμιση MySQL Master-Slave Replication.

συμπέρασμα

Η αναπαραγωγή είναι μια αρκετά απλή διαδικασία που μπορεί να γίνει εύκολα. Σε αυτόν τον οδηγό, μάθατε πώς μπορείτε να δημιουργήσετε μια αναπαραγωγή ενός κύριου MySQL σε slave σε ένα RHEL 8 Linux.