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

Natives JS zur Implementierung der Drag-Position-Vorschau

In diesem Artikel wird eine kleine Demo gezeigt, ...

Detaillierte Erläuterung gängiger Methoden von JavaScript-Arrays

Inhaltsverzeichnis Gängige Array-Methoden Pop() u...

Beispiel für das Erstellen eines virtuellen Hosts basierend auf dem Apache-Port

Apache: Virtuellen Host basierend auf Port erstel...

Eine kurze Einführung in Linux-Umgebungsvariablendateien

Im Linux-System können Umgebungsvariablen entspre...

JavaScript zum Erzielen eines einfachen Lupeneffekts

In einem großen Kästchen befindet sich ein Bild. ...

Zusammenfassung gängiger MySQL-DDL-Operationen

Bibliotheksverwaltung Erstellen einer Bibliothek ...

So verwenden Sie Verbindungen der Physik-Engine in CocosCreator

Inhaltsverzeichnis Mausgelenk Mausgelenk AbstandG...

Allgemeiner Hinweis zum MySQL-Ereignisplaner (unbedingt lesen)

Überblick MySQL verfügt auch über einen eigenen E...

Detailliertes Installations- und Deinstallationstutorial für MySQL 8.0.12

1. Installationsschritte für MySQL-Version 8.0.12...

js, um einen Karusselleffekt zu erzeugen

Ich denke, das Karussell ist ein relativ wichtige...