Android

Πώς να ρυθμίσετε το master mysql

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox

Πίνακας περιεχομένων:

Anonim

Η αναπαραγωγή MySQL είναι μια διαδικασία που σας επιτρέπει να αντιγράφετε αυτόματα δεδομένα από έναν διακομιστή βάσης δεδομένων σε έναν ή περισσότερους διακομιστές.

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

Σε αυτό το σεμινάριο, θα σας εξηγήσουμε πώς να ρυθμίσετε μια αναπαραγωγή MySQL Master / Slave με έναν κεντρικό και ένα slave server στο CentOS 7. Τα ίδια βήματα ισχύουν για το MariaDB.

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

Προϋποθέσεις

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

Οι διακομιστές σε αυτό το παράδειγμα έχουν τις ακόλουθες διευθύνσεις IP:

Master IP: 192.168.121.59 Slave IP: 192.168.121.14

Εγκαταστήστε MySQL

Η προεπιλογή Οι αποθετήρια CentOS 7 δεν περιλαμβάνουν πακέτα MySQL, ώστε να εγκαταστήσουμε την MySQL από το επίσημο Yum Repository. Για να αποφύγουμε τυχόν προβλήματα, θα εγκαταστήσουμε την ίδια έκδοση MySQL 5.7 και στους δύο διακομιστές.

Εγκαταστήστε MySQL και στους δύο διακομιστές Master και Slave:

sudo yum localinstall sudo yum install mysql-community-server

Μόλις ολοκληρωθεί η εγκατάσταση, ξεκινήστε την υπηρεσία MySQL και ενεργοποιήστε την αυτόματη εκκίνηση κατά την εκκίνηση με:

sudo systemctl enable mysqld sudo systemctl start mysqld

Όταν ο διακομιστής MySQL ξεκινάει για πρώτη φορά, δημιουργείται ένας προσωρινός κωδικός πρόσβασης για τον χρήστη root της MySQL. Για να βρείτε τον κωδικό πρόσβασης χρησιμοποιήστε την ακόλουθη εντολή grep:

sudo grep 'temporary password' /var/log/mysqld.log

Εκτελέστε την εντολή mysql_secure_installation για να ρυθμίσετε τον νέο κωδικό πρόσβασης για τον ριζικό σας και να βελτιώσετε την ασφάλεια της παρουσίας MySQL:

mysql_secure_installation

Εισαγάγετε τον προσωρινό κωδικό πρόσβασης ρίζας και απαντήστε Y (yes) σε όλες τις ερωτήσεις.

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

Διαμορφώστε τον κύριο διακομιστή

Πρώτον, θα ρυθμίσουμε τον κύριο διακομιστή MySQL και θα κάνουμε τις ακόλουθες αλλαγές:

  • Ρυθμίστε τον διακομιστή MySQL για να ακούσετε την ιδιωτική διεύθυνση IP. Καθορίστε ένα μοναδικό αναγνωριστικό διακομιστή. Ενεργοποιήστε τη δυαδική καταγραφή.

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

sudo nano /etc/my.cnf master: /etc/my.cnf

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

Αφού γίνει, κάντε επανεκκίνηση της υπηρεσίας MySQL για να εφαρμοστούν οι αλλαγές

sudo systemctl restart mysqld

Το επόμενο βήμα είναι να δημιουργήσετε έναν νέο χρήστη αναπαραγωγής. Συνδεθείτε στο διακομιστή MySQL ως χρήστης root:

mysql -uroot -p

Από μέσα στην προτροπή MySQL, εκτελέστε τα ακόλουθα ερωτήματα SQL που θα δημιουργήσουν τον χρήστη του replica και θα παραχωρήσουν το προνόμιο REPLICATION SLAVE στο χρήστη:

CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'strong_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14'; Βεβαιωθείτε ότι έχετε αλλάξει την IP με την υποκείμενη διεύθυνση IP. Μπορείτε να ονομάσετε τον χρήστη όπως θέλετε.

Ενώ βρίσκεστε ακόμα μέσα στην εντολή MySQL, εκτελέστε την ακόλουθη εντολή που θα εκτυπώσει το δυαδικό όνομα αρχείου και τη θέση.

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)

Σημειώστε το όνομα του αρχείου, το 'mysql-bin.000001' και τη θέση '1427'. Θα χρειαστείτε αυτές τις τιμές κατά τη διαμόρφωση του εξυπηρετητή σκλάβου. Αυτές οι τιμές θα είναι πιθανώς διαφορετικές στον διακομιστή σας.

Διαμορφώστε το διακομιστή Slave

Όπως και για τον κύριο διακομιστή παραπάνω, θα κάνουμε τις ακόλουθες αλλαγές στον διακομιστή σκλάβου:

  • Ρυθμίστε τον διακομιστή MySQL να ακούσει στο ιδιωτικό IPSet ένα μοναδικό IDE server που επιτρέπει την καταγραφή δυαδικών αρχείων

Ανοίξτε το αρχείο διαμόρφωσης MySQL και επεξεργαστείτε τις ακόλουθες γραμμές:

sudo nano /etc/my.cnf σκλάβος: /etc/my.cnf

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

Επανεκκινήστε την υπηρεσία MySQL:

sudo systemctl restart mysqld

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

mysql -uroot -p

Πρώτα, σταματήστε τα σκλαβιά:

STOP SLAVE;

Εκτελέστε το ακόλουθο ερώτημα που θα ρυθμίσει τη δευτερεύουσα λειτουργία για την αναπαραγωγή της κύριας μονάδας:

CHANGE MASTER TO MASTER_HOST='192.168.121.59', MASTER_USER='replica', MASTER_PASSWORD='strong_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1427;

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

Αφού γίνει, ξεκινήστε τα σκλαβιά.

START SLAVE;

Ελέγξτε τη διαμόρφωση

Σε αυτό το σημείο, θα πρέπει να έχετε μια ρύθμιση αναπαραγωγής Master / Slave.

Για να επαληθεύσετε ότι όλα λειτουργούν όπως αναμένεται, θα δημιουργήσουμε μια νέα βάση δεδομένων στον κύριο διακομιστή:

mysql -uroot -p

CREATE DATABASE replicatest;

Σύνδεση στο σκλάβος MySQL shell:

mysql -uroot -p

Εκτελέστε την ακόλουθη εντολή για να εμφανίσετε όλες τις βάσεις δεδομένων:

SHOW DATABASES;

Θα παρατηρήσετε ότι η βάση δεδομένων που δημιουργήσατε στον κύριο διακομιστή αντιγράφεται στον σκλάβο:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)

συμπέρασμα

Σε αυτό το σεμινάριο, δείξαμε ότι δημιουργείτε μια αναπαραγωγή MySQL Master / Slave στο CentOS 7.

Μη διστάσετε να αφήσετε ένα σχόλιο εάν έχετε οποιεσδήποτε ερωτήσεις.

centos mysql mariadb