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

CUDA8.0 und CUDA9.0 koexistieren unter Ubuntu16.04

Vorwort Einige der früheren Codes auf Github erfo...

Eine kurze Erläuterung zu „Group By“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...

CentOS 7 SSHD ändern | Root-Login und SSHD-Port-Skriptdefinition verbieten

1. Erstellen Sie einen neuen Benutzer wwweee000 [...

Lösen Sie das Problem verstümmelter Daten bei der MySQL-Datenbankmigration

Unter den Anweisungen meines Vorgesetzten übernah...

Vue-Projekt @change mehrere Parameter, um mehrere Ereignisse zu übergeben

Erstens gibt es nur ein Änderungsereignis. change...

Join-Operation in MySQL

Arten von Verknüpfungen 1. Innerer Join: Die Feld...

Führen Sie die Initialisierungs-SQL aus, wenn Docker MySQL startet

1. Ziehen Sie das Mysql-Image docker pull mysql:5...

Einführung in die CSS-Stilklassifizierung (Grundkenntnisse)

Klassifizierung von CSS-Stilen 1. Interner Stil -...

Detaillierte Erklärung des Linx awk-Einführungstutorials

Awk ist eine Anwendung zur Verarbeitung von Textd...

Lernen Sie, mit Eclipse eine Verbindung zur MySQL-Datenbank herzustellen

Vorwort Da immer wieder Fehler auftreten, protoko...

MySQL 5.7.17 Winx64 Installations- und Konfigurations-Tutorial

Heute habe ich die MySQL-Datenbank erneut auf mei...