Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> PC Computers

Πώς να ρυθμίσετε τις παραμέτρους του MariaDB Master-Master/Slave Replication

Για να ρυθμίσετε την αναπαραγωγή του MariaDB Master-master/slave, ακολουθήστε τα εξής βήματα:

Βήμα 1 - Ελέγξτε εάν το GTID είναι ενεργοποιημένο

Πριν ξεκινήσετε, ελέγξτε εάν το GTID είναι ενεργοποιημένο. Συνιστάται να χρησιμοποιείτε GTID με αναπαραγωγή MariaDB.

```

mysql -u root -p

Εισαγάγετε τον κωδικό πρόσβασης root MariaDB

ΕΜΦΑΝΙΣΤΕ ΠΑΓΚΟΣΜΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ ΟΠΩΣ '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 εάν δεν είναι ήδη ενεργοποιημένη

gtid_mode =ON

Σύνδεση σε όλες τις διεπαφές δικτύου

bind-address =0.0.0.0

Διαμόρφωση αναπαραγωγής

log-bin=/var/log/mysql/mariadb-bin

binlog_do_db=mydb # τη βάση δεδομένων που θέλετε να αντιγράψετε

Το Master1 θα λαμβάνει τις ενημερώσεις του από το master2. Καταργήστε την παρακάτω γραμμή εάν αυτή είναι η πρώτη κύρια που διαμορφώνετε.

master_host =192.168.1.20

Προαιρετικά, εάν χρειάζεται (χρήσιμο εάν προσπαθείτε να ανακτήσετε το slave από ένα crash):

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]

Ορίστε το αναγνωριστικό διακομιστή στο ίδιο με το Master1.

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 είναι συνδεδεμένο και αναπαράγεται από τα κύρια.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα