Detaillierte Erläuterung der Konstruktion der Lese-/Schreibtrennung bei der MySQL-Master-Slave-Replikation

Detaillierte Erläuterung der Konstruktion der Lese-/Schreibtrennung bei der MySQL-Master-Slave-Replikation

MySQL Master-Slave-Einrichtung

Die Einstellungen für die MySQL-Master-Slave-Replikation und die Lese-/Schreibtrennung sind sehr einfach:

Ändern Sie die Konfigurationsdatei my.cnf

Die Master- und Slave-Einstellungen sind ähnlich:

[mysqld]
log-bin=mysql-bin 
Server-ID = 222

log-bin=mysql-bin bedeutet: Binärprotokoll aktivieren.

server-id=222 bedeutet, die eindeutige ID des Servers festzulegen. Der Standardwert ist 1, was normalerweise das letzte Segment der IP-Adresse ist. Sie können es auf etwas anderes schreiben, solange es nicht mit anderen MySQL-Servern wiederholt wird.

Hier verweisen einige MySQL-Standarddateien my.cnf auf alle cnf-Dateien im Pfad /etc/mysql/conf.d . Daher können Sie auch eine cnf-Datei im Verzeichnis /etc/mysql/conf.d hinzufügen und den obigen Inhalt hinzufügen

Starten Sie MySQL auf dem Master- bzw. Slave-Rechner neu.

/etc/init.d/mysql Neustart

Erstellen Sie ein Konto auf dem Master und autorisieren Sie den Slave. Nehmen Sie auch die entsprechenden Konfigurationen auf dem Slave vor.

Melden Sie sich jeweils als Root-Benutzer beim Master- und Slave-Computer an:

mysql -uroot -p //Nach der Eingabe werden Sie aufgefordert, das Root-Passwort einzugeben. Mit der Eingabe des Root-Passworts werden Sie angemeldet.

Auf dem Mastercomputer

Erstellen Sie ein Konto und autorisieren Sie den Slave-Rechner. Achten Sie auf den Benutzernamen und das Passwort. Sie können diese nach Belieben festlegen, aber notieren Sie sie auf jeden Fall, da der Slave sie später benötigt.

GRANT REPLICATION SLAVE ON *.* an „ryugou“@„%“, identifiziert durch „ryugou“;

Im Allgemeinen wird das Root-Konto nicht verwendet. @'%' bedeutet, dass sich alle Clients verbinden können, solange das Konto und das Passwort korrekt sind. Zur Erhöhung der Sicherheit kann hier die spezifische Client-IP-Adresse, z. B. 192.168.145.226, verwendet werden.

Auf der Slave-Maschine

Überprüfen des Masterstatus

Masterstatus anzeigen;

Geben Sie im MySQL-Terminal ein

Kopieren Sie den Code wie folgt:

ändere Master in master_host='xxx.xxx.xxx.xxx',master_user='ryugou',master_password='ryugou',master_log_file='mysql-bin.000004',master_log_pos=120;

master_log_file ist der entsprechende Inhalt auf dem Master-Rechner, ebenso master_log_pos. Achten Sie auf den Inhalt des Master-Status.

master_user und master_password sind der Benutzername und das Passwort, die bei der Autorisierung auf dem Mastercomputer festgelegt wurden.

Starten Sie den Slave-Server

Slave starten;

Überprüfen Sie den Status der Slave-Replikationsfunktion

Slave-Status anzeigen\G;

Eine Liste wird angezeigt

Überprüfen Sie hauptsächlich, dass der Status von Slave_IO_Running und Slave_SQL_Running beide „Ja“ sein muss.

Der Master erstellt die Datenbank und legt die Benutzerzugriffsrechte vom Server aus fest.

Erstellen Sie einen Datenbanktest auf dem Master, und Sie werden feststellen, dass dieser Test auch auf dem Slave erstellt wird. Jetzt möchten Sie Lesen und Schreiben trennen. Ein Benutzer mit dem Namen gou auf dem Slave-Rechner kann darauf zugreifen, aber nur lesen.

gewähre gou bei test.* die Auswahl;

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Beispielcode für die Master-Slave-Trennung einer MySQL-Datenbank
  • Konfigurationsschritte für die MySQL-Master-Slave-Synchronisierung und die Trennung von Lesen und Schreiben
  • Detaillierte Erläuterung der MySQL Master-Slave-Replikation, Lese-/Schreibtrennung, Sicherung und Wiederherstellung
  • Detaillierte Erläuterung der Konfigurationsmethode der Lese-/Schreibtrennung bei der MySQL-Master-Slave-Replikation
  • Schritte zum Konfigurieren der MySQL-Master-Slave-Trennung unter Linux

<<:  Docker verwendet Busybox, um ein Basis-Image zu erstellen

>>:  Beispielcode zur Implementierung einer Anmelde- und Registrierungsvorlage in Vue

Artikel empfehlen

Detaillierte Erklärung der Verwendung des Fuser-Befehls in Linux

beschreiben: fuser kann anzeigen, welches Program...

Detaillierte Erklärung zur SQL-Injection - Sicherheit (Teil 2)

Sollte dieser Artikel Fehler enthalten oder du An...

Verstehen Sie kurz die MySQL-Datenbankoptimierungsphase

Einführung Haben Sie schon einmal eine Situation ...

Eine detaillierte Einführung in den netstat-Befehl in Linux

Inhaltsverzeichnis 1. Einleitung 2. Beschreibung ...

HTML-Code, der den Internet Explorer zum Einfrieren bringen kann

Wir müssen lediglich einen beliebigen Texteditor ö...

So verwenden Sie Docker Compose zum Implementieren des Nginx-Lastausgleichs

Implementieren Sie den Nginx-Lastausgleich basier...

Eine kurze Diskussion über den Unterschied zwischen src und href in HTML

Einfach ausgedrückt bedeutet src „Ich möchte dies...

Implementierung der CSS3-Button-Randanimation

Erster Blick auf die Wirkung: html <a href=&qu...

So öffnen Sie Port 8080 auf dem Alibaba Cloud ECS-Server

Aus Sicherheitsgründen verfügt Alibaba Cloud Serv...

Verwendung des Linux-Watch-Befehls

1. Befehlseinführung Der Befehl „Watch“ führt den...

Tipps zum Importieren von CSV-, Excel- oder SQL-Dateien in MySQL

1. CSV-Datei importieren Verwenden Sie den folgen...

Detaillierte Erläuterung der Nginx-Upstream-Konfiguration und -Funktion

Konfigurationsbeispiel Upstream-Backend { Server ...

Natives JS zur Implementierung eines atmenden Karussells

Heute zeige ich Ihnen ein mit nativem JS implemen...