MySQL-Konfiguration Master-Slave-Server (ein Master und mehrere Slaves)

MySQL-Konfiguration Master-Slave-Server (ein Master und mehrere Slaves)

In diesem Artikel wird hauptsächlich die Konfiguration eines MySQL-Master-Slave-Servers (ein Master und mehrere Slaves) vorgestellt. Wenn Sie interessiert sind, können Sie mehr darüber erfahren.

Aktuelles Umfeld
Centos 7.6
MySQL 5.7

Informationen zur Installation von MySQL 5.7 auf Centos 7.6 finden Sie unter: https://www.jb51.net/article/99965.htm

Ideen

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Hostkonfiguration

Konfiguration ändern

vim /etc/meine.cnf

Fügen Sie die Konfiguration nach [mysqld] hinzu, speichern Sie und beenden Sie

Server-ID = 1
log-bin=master-bin
log-bin-index=master-bin.index

Neustart

systemctl startet mysqld.service neu

# Überprüfen Sie den Status systemctl status mysqld.service

prüfen

mysql -u root -p
MASTER-STATUS ANZEIGEN; 

Bildbeschreibung hier einfügen

Slave 1 Konfiguration

Konfiguration ändern

vim /etc/meine.cnf

Fügen Sie die Konfiguration nach [mysqld] hinzu, speichern Sie und beenden Sie

Server-ID = 2
Relay-Log = Slave-01-Relay-Bin
relay-log-index=slave-01-relay-bin.index

Neustart

systemctl startet mysqld.service neu
# Überprüfen Sie den Status systemctl status mysqld.service

Slave 2 Konfiguration

Konfiguration ändern

vim /etc/meine.cnf

Fügen Sie die Konfiguration nach [mysqld] hinzu, speichern Sie und beenden Sie

Server-ID = 3
Relay-Log = Slave-02-Relay-Bin
relay-log-index=slave-02-relay-bin.index

Neustart

systemctl startet mysqld.service neu
# Überprüfen Sie den Status systemctl status mysqld.service

Konfigurieren von Master-Slave-Beziehungen

Hostkonfiguration

Melden Sie sich bei der MySQL-Konsole des Hosts an, erstellen Sie einen Benutzer, autorisieren Sie ihn und aktualisieren Sie.

mysql -u root -p

ERSTELLEN SIE BENUTZER 'repl'@'%' IDENTIFIZIERT DURCH 'Mysql57*';
GRANT REPLICATION SLAVE ON *.* AN 'repl'@'%' IDENTIFIZIERT DURCH 'Mysql57*';
Berechtigungen leeren;

Bildbeschreibung hier einfügen

Slave-Konfiguration

mysql -u root -p

# Meine Host-IP hier ist 192.168.1.8
ändere Master in master_host='192.168.1.8',master_port=3306,master_user='repl',master_password='Mysql57*',master_log_file='master-bin.000001',master_log_pos=0;

Slave starten;
#Master-Slave-Synchronisierung stoppen#stop slave;
# \G bedeutet Zeilenumbruch, um den Slave-Status anzuzeigen \G; 

Wenn Sie den Master-Slave-Status überprüfen, wird die Meldung „Der Slave-E/A-Thread wird angehalten, da Master und Slave die gleichen MySQL-Server-UUIDs haben. Diese UUIDs müssen unterschiedlich sein, damit die Replikation funktioniert.“ Weitere Informationen finden Sie in den FAQ.

Bildbeschreibung hier einfügen

Testdatensynchronisation

Hier verwendet der Autor das Visualisierungstool Navicat. Leser können auch andere Tools verwenden, nur ein einfacher Test.

Fügen Sie in der Master-Bibliothek eine neue Bibliothek test-for-repl hinzu und prüfen Sie, ob in den Slave-Bibliotheken 01 und 02 eine neue Bibliothek vorhanden ist

Fügen Sie in der Masterbibliothek Test-for-Repl eine neue Tabelle Test-Create-Table hinzu, um zu prüfen, ob in der Slavebibliothek 01 und 02 eine Tabelle vorhanden ist. Fügen Sie in der Masterbibliothek Test-for-Repl eine neue Tabelle Test-Create-Table hinzu, um zu prüfen, ob in der Slavebibliothek 01 und 02 Daten vorhanden sind.

Bildbeschreibung hier einfügen

Häufig gestellte Fragen

Der Slave-Rechner prüft den Master-Slave-Synchronisationsstatus show slave status \G; und meldet einen Fehler

Der Slave-E/A-Thread wird angehalten, da Master und Slave über die gleichen MySQL-Server-UUIDs verfügen. Damit die Replikation funktioniert, müssen diese UUIDs unterschiedlich sein.

Bildbeschreibung hier einfügen

Grund

Hier verwendete der Autor VMware-Software, um eine virtuelle Maschine zu erstellen, auf der Centos7.6 + MySQL5.7 installiert wurde, und verwendete die virtuelle Maschine dann, um zwei weitere virtuelle Maschinen als Slave-Maschinen zu klonen, was dazu führte, dass nach dem Start von MySQL auf den drei virtuellen Maschinen dieselbe UUID generiert wurde.

Lösung

Suchen Sie die UUID von MySQL, ändern Sie ein Zeichen, starten Sie den Dienst neu, melden Sie sich dann bei der MySQL-Konsole an und aktivieren Sie den Master-Slave

finden / -name 'auto.cnf'
vim /var/lib/mysql/auto.cnf
systemctl startet mysqld.service neu
mysql -u root -p
Slave starten;
# \G bedeutet Zeilenumbruch, um den Slave-Status anzuzeigen \G; 

Dies ist das Ende dieses Artikels über die Konfiguration eines MySQL-Master-Slave-Servers (ein Master und mehrere Slaves). Weitere relevante Inhalte zum MySQL-Master-Slave-Server finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des MySQL-Clusters: Implementierung einer Master- und einer Slave-Architektur
  • Implementierungsschritte für die Bereitstellung von MySQL mit einem Master und mehreren Slaves

<<:  So implementieren Sie Leerzeichen in Taobao mit CSS3

>>:  html Option deaktivieren auswählen auswählen deaktivieren Option Beispiel

Artikel empfehlen

JavaScript Canvas-Textuhr

In diesem Artikelbeispiel wird der spezifische Co...

VMWare Linux MySQL 5.7.13 Installations- und Konfigurationstutorial

In diesem Artikel finden Sie das Tutorial zur Ins...

Eine Kurzanleitung zu Docker

Docker bietet eine Möglichkeit, Software automati...

So verwenden Sie vw+rem für das mobile Layout

Verwenden Sie immer noch das flexible Rem-Layout?...

Eine ausführliche Diskussion zur Detailanalyse im Webdesign

Bei der Designarbeit höre ich oft, dass an der Übe...

So importieren und exportieren Sie Docker-Images

Dieser Artikel stellt den Import und Export von D...

Beispiel einer Vorrendering-Methode für eine Vue-Einzelseitenanwendung

Inhaltsverzeichnis Vorwort vue-cli 2.0 Version vu...

Beispiel für die Implementierung einer To-Do-Anwendung mit Vue

Hintergrund Zunächst möchte ich sagen, dass ich k...

Installieren Sie MySQL 5.7 unter Ubuntu 18.04

Dieser Artikel wurde unter Bezugnahme auf die off...

Ausführliche Erklärung dieses Schlüsselworts in JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Verstehen Sie...

So starten Sie die RabbitMq-Software automatisch, wenn CentOS gestartet wird

1. Erstellen Sie ein neues Rabbitmq im Verzeichni...