Βήμα 1 - Ελέγξτε εάν το GTID είναι ενεργοποιημένο
Πριν ξεκινήσετε, ελέγξτε εάν το GTID είναι ενεργοποιημένο. Συνιστάται να χρησιμοποιείτε GTID με αναπαραγωγή MariaDB.
```
mysql -u root -p
ΕΜΦΑΝΙΣΤΕ ΠΑΓΚΟΣΜΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ ΟΠΩΣ 'gtid_mode'.
```
Βεβαιωθείτε ότι η έξοδος του παραπάνω ερωτήματος είναι ΕΝΕΡΓΟΠΟΙΗΣΗ ή ΕΝΕΡΓΟΠΟΙΗΣΗ_ΕΠΙΤΡΕΧΗΣ. Εάν σβήσετε, εκτελέστε αυτήν την εντολή για να ενεργοποιήσετε το GTID:
```
SET GLOBAL gtid_mode=ON;
```
Σημείωση:Εάν το GTID ήταν αρχικά ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟ, επανεκκινήστε την υπηρεσία MariaDB για να ισχύσει αυτή η αλλαγή.
Βήμα 2 - Δημιουργία νέου χρήστη για αναπαραγωγή
Δημιουργήστε έναν νέο χρήστη που μπορούν να χρησιμοποιήσουν οι slave διακομιστές για να συνδεθούν με τον κύριο και να λάβουν ενημερώσεις. Αυτός ο χρήστης θα πρέπει να έχει το δικαίωμα REPLICATION SLAVE.
```
mysql -u root -p
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'repluser'@'%' ΠΟΥ ΑΝΑΓΝΩΡΙΖΕΤΑΙ ΑΠΟ 'Ισχυρό κωδικό πρόσβασης';
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%';
FLUSH ΠΡΟΝΟΜΙΑ?
```
Βήμα 3 - Ρύθμιση MySQL Master-Master Replication
_α) Στο Master 1:_
- Διακοπή της υπηρεσίας MariaDB:
```
υπηρεσία sudo mariadb stop
```
- Δημιουργήστε και ανοίξτε το αρχείο _my.cnf_ σε ένα πρόγραμμα επεξεργασίας κειμένου.
- Για συστήματα που βασίζονται σε Debian/Ubuntu:
```
sudo nano /etc/mysql/my.cnf
```
- Για συστήματα που βασίζονται σε RedHat/CentOS/Fedora:
```
sudo nano /etc/my.cnf
```
- Επεξεργαστείτε το αρχείο _my.cnf_ για να συμπεριλάβετε την ακόλουθη διαμόρφωση:
```
[mysqld]
server-id=1
gtid_mode =ON
bind-address =0.0.0.0
log-bin=/var/log/mysql/mariadb-bin
binlog_do_db=mydb # τη βάση δεδομένων που θέλετε να αντιγράψετε
master_host =192.168.1.20
relay-log=/var/log/mysql/mariadb-relay-bin.log
relay-log-index=/var/log/mysql/mariadb-relay-bin.index
```
*Το server_id στην παραπάνω διαμόρφωση πρέπει να είναι ένα μοναδικό αναγνωριστικό για αυτόν τον κύριο διακομιστή.
*Το binlog_do_db καθορίζει ποια βάση δεδομένων θα αναπαραχθεί.
*Το master_host καθορίζει τη διεύθυνση IP ή το όνομα κεντρικού υπολογιστή του άλλου κύριου διακομιστή εάν ρυθμίζετε τη διπλή κύρια αναπαραγωγή.
- Αποθηκεύστε και πραγματοποιήστε έξοδο από το αρχείο διαμόρφωσης _my.cnf_.
- Ξεκινήστε την υπηρεσία MariaDB:
```
sudo υπηρεσία mariadb start
```
_β) Στο Master 2:_
- Επαναλάβετε τα ίδια βήματα όπως για το master 1, εκτός από:
- Καθορίστε ένα διαφορετικό server_id (π.χ. server-id=2)
- Καθορίστε τη διεύθυνση IP ή το όνομα κεντρικού υπολογιστή του master 1 ως master_host.
Βήμα 4 - Ρύθμιση Slave
_α) Στο Slave:_
- Διακοπή της υπηρεσίας MariaDB:
```
υπηρεσία sudo mariadb stop
```
- Επεξεργαστείτε το αρχείο _my.cnf_:
```
sudo nano /etc/mysql/my.cnf
```
- Βεβαιωθείτε ότι η διεύθυνση δέσμευσης έχει οριστεί σε 0.0.0.0, έτσι ώστε το slave να μπορεί να δέχεται συνδέσεις και από τα δύο κύρια.
- Προσθέστε τις ακόλουθες γραμμές:
```
[mysqld]
server-id=1
gtid_mode =ON
log_slave_updates=1
```
- Αποθηκεύστε και πραγματοποιήστε έξοδο από το αρχείο διαμόρφωσης _my.cnf_.
- Ξεκινήστε την υπηρεσία MariaDB:
```
sudo υπηρεσία mariadb start
```
- Συνδεθείτε στη βάση δεδομένων σκλάβων:
```
mysql -u root -p
```
- Διαμόρφωση αναπαραγωγής στη σκλάβα:
``mysql
ΑΛΛΑΓΗ ΚΥΡΙΟΥ ΣΤΟ
MASTER_HOST='master1_ip_address',
MASTER_USER='repluser',
MASTER_PASSWORD='strong-password',
MASTER_AUTO_POSITION =1;
START SLAVE?
```
_β) Παρακολούθηση της κατάστασης αναπαραγωγής:_
- Ελέγξτε την κατάσταση αναπαραγωγής τόσο στο master όσο και στο slave:
``mysql
ΕΜΦΑΝΙΣΗ ΚΑΤΑΣΤΑΣΗΣ ΣΚΛΑΒΟΥ\G;
```
Η κατάσταση αναπαραγωγής θα πρέπει να δείχνει ότι το slave είναι συνδεδεμένο και αναπαράγεται από τα κύρια.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα