1.MySQL-Replikationskonzept Dies bedeutet, dass die DDL- und DML-Vorgänge der primären Datenbank über Binärprotokolle auf den Replikationsserver übertragen und diese Protokolldateien dann auf dem Replikationsserver erneut ausgeführt werden, um die Daten des Replikationsservers und des primären Servers synchronisiert zu halten. Beim Replikationsprozess fungiert ein Server als Master und ein oder mehrere andere Server als Slaves. Der Master schreibt Aktualisierungen in die binäre Protokolldatei neu und verwaltet einen Index der Datei, um Protokollrotationen zu verfolgen. Diese Protokolle zeichnen Aktualisierungen auf, die an die Slave-Server gesendet werden. Wenn ein Slave eine Verbindung zu einem Master herstellt, informiert er den Master über den Speicherort des letzten erfolgreichen Updates, das der Slave im Protokoll gelesen hat. Der Slave akzeptiert ab diesem Zeitpunkt alle auftretenden Updates, blockiert dann und wartet auf die Benachrichtigung über neue Updates vom Master. 2. Zweck des Kopierens Die Datensynchronisierung erfolgt über die Master-Slave-Replikation, und die Lese-/Schreibtrennung (MySQL-Proxy) verbessert die gleichzeitige Ladekapazität der Datenbank. Alternativ kann ein Master-Slave-Design verwendet werden, um sicherzustellen, dass die Anwendung auf die Sicherungsmaschine umgeschaltet werden und innerhalb kürzester Zeit weiter ausgeführt werden kann, nachdem der Host nicht mehr reagiert. Vorteile: (1) Das Datenbankclustersystem verfügt über mehrere Datenbankknoten. Wenn ein einzelner Knoten ausfällt, können andere normale Knoten weiterhin Dienste bereitstellen. 3. Durchführung der Replikation (3 Methoden) (1) DRBD ist eine softwareimplementierte Shared-Nothing-Speicherreplikationslösung, die den Inhalt von Blockgeräten zwischen Servern spiegelt. Der MySQL-Datenbankreplikationsvorgang ist grob in die folgenden Schritte unterteilt: (1) Der Master aktiviert das binäre Logging. Die Aktivierung der binären Protokollierung wird ausführlich unter „Protokollverwaltung“ beschrieben. 4. Zentralisierter Modus der MySQL-Replikation In Versionen nach MySQL 5.1 besteht die Verbesserung der Replikation in der Einführung einer neuen Replikationstechnologie – der zeilenbasierten Replikation. Diese Technologie konzentriert sich auf die Datensätze, die sich in der Tabelle geändert haben, und nicht auf den vorherigen Binlog-Modus. Ab MySQL 5.1.12 kann dies mithilfe der folgenden drei Modi erreicht werden. (1) SQL-Anweisungsbasierte Replikation (SBR) Entsprechend gibt es drei Binärlog-Formate: Anweisung, Zeile und gemischt. Im Mbr-Modus ist der Sbr-Modus die Standardeinstellung. Das Binlog-Format kann zur Laufzeit dynamisch geändert werden. Die Methode zum Einstellen des Master-Slave-Replikationsmodus ist sehr einfach. Fügen Sie einfach einen weiteren Parameter basierend auf der vorherigen Replikationskonfiguration wie folgt hinzu: binlog_format = "Anweisung" #binlog_format="Zeile" #binlog_format=”gemischt” Natürlich können Sie das Binlog-Format auch zur Laufzeit dynamisch ändern Mysql> Sitzung festlegen binlog_format="Anweisung" 5. Kontrollieren Sie den Hauptserverbetrieb Meister: 192.168.11.139 (1) Primärserver: mysql> Variablen wie „%datadir%“ anzeigen; +------------------+--------------------------+ | Variablenname | Wert | +------------------+--------------------------+ | Datenverzeichnis | /Anwendung/mysql/Daten/ | +------------------+--------------------------+ Aktivieren Sie die binäre Protokollierung auf dem primären Server: mysql> Variablen wie „log_bin“ anzeigen; +---------------+-------+ | Variablenname | Wert | +---------------+-------+ | log_bin | AUS | +---------------+-------+ Zeile im Satz (0,00 Sek.) OFF bedeutet, dass die Binärprotokollierung geschlossen ist. Schritte zum Aktivieren von Protokoll 3: ①Öffnen Sie das MySQL-Installationsverzeichnis/my.cnf log_bin[Dateiname] In dieser Anweisung gibt log-bin an, dass eine Binärdatei geöffnet werden soll; Dateiname ist der Name des Binärprotokolls. Wenn nicht angegeben, ist der Standard der Hostname, gefolgt von -bin als Dateiname, und die Speicherung erfolgt standardmäßig im Verzeichnis datadir. Wenn Sie hier binary_log angeben, um Binärdateien nur für die angegebene Datenbank zu generieren, müssen Sie die folgende Anweisung hinzufügen Binlog-do-db=db_name (Datenbankname) Wenn Sie keine Binärdateiprotokolle für die angegebene Datenbank generieren, müssen Sie die folgende Anweisung hinzufügen Binlog-ignore-db-db_name (Datenbankname) ③Starten Sie den MySQL-Dienst neu. Sie können die Datei „binary_log.digital number“ im MySQL-Installationsverzeichnis/Datenordner sehen, z. B. binary_log.00001. Bei jedem Neustart des MySQL-Dienstes wird die Binärdatei neu generiert und die Nummer im Dateinamen erhöht sich. Nachdem der Bootvorgang erfolgreich war, ändern Sie die MySQL-Konfigurationsdatei my.cnf und legen Sie die Server-ID fest. Der Code lautet wie folgt Server-id=1 Binlog-do-db=xscj Binlog-ignore-db=mysql Server-ID=1: Jedem Datenbankserver muss eine eindeutige Server-ID zugewiesen werden, für den Master-Server normalerweise 1. Die Server-IDs des Master- und des Slave-Servers dürfen nicht identisch sein. Binlog-do-db: Gibt die Datenbank an, die kopiert werden muss. Hier wird xscj als Beispiel verwendet. Binlog-ignore-db: Gibt die Datenbank an, die nicht kopiert werden muss. Erstellen Sie die für die Replikation erforderlichen Benutzer auf dem Master mysql> gewähre rep_user@'%' Replikations-Slave auf *.*; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> Berechtigungen leeren; Abfrage OK, 0 Zeilen betroffen (0,01 Sek. mysql> Masterstatus anzeigen\G *************************** 1. Reihe *************************** Datei: binary_log.000001 Position: 303 Binlog_Do_DB: Binlog_Ignore_DB: Zeile im Satz (0,00 Sek.) Sichern Sie die Daten des Master-Hosts, speichern Sie sie in der Datei /data/binary_dump.txt und importieren Sie sie dann auf den Slave-Computer. Die spezifische Ausführungsanweisung lautet wie folgt [root@localhost bin]# mysqldump -h localhost>/data/binary_dump.txt (2) Steuern Sie den Betrieb des Slave-Servers Ändern Sie die Datenbankkonfigurationsdatei des Slave-Servers und konfigurieren Sie sie wie folgt: Server-id=2 ##Legen Sie die Slave-Server-ID fest Master-Host = 192.168.11.129 Master-Benutzer=rep_user Master-password= ##Legen Sie das Kennwort für die Verbindung mit dem Master-Server fest Replicate-do-db ##Legen Sie die Datenbank fest, die Sie synchronisieren möchten. Sie können mehrere festlegen Master-port=<port> ##Konfigurieren Sie die Portnummer Starten Sie den Slave neu und führen Sie den folgenden Befehl auf dem MySQL des Slave-Hosts erneut aus, um den Slave-Dienst herunterzufahren Mysql>stop slave; Stellen Sie den Slave so ein, dass er replikationsbezogene Informationen implementiert, und führen Sie den folgenden Befehl aus: Mysql>change master to >master_host='', >master_user='', >master_password='', >master_log_file='binary_log.000007', >master_log_pos=120; Eingabe: show slave status\G wird verwendet, um wichtige Parameterinformationen über den Slave-Server-Thread bereitzustellen. Häufig verwendete Befehle sind wie folgt
Dies ist der gesamte Inhalt dieses Artikels zur detaillierten Analyse der Replikation in MySQL. Ich hoffe, er wird für alle hilfreich sein. Bitte lesen Sie hierzu: Einführung in die Fuzzy-Abfragemethode mit instr in MySQL, Codeanalyse von Benutzervariablen in MySQL-Abfrageanweisungen, detaillierte Erläuterung von JSON-Datentypoperationen in MySQL-Operationen usw. Wenn es irgendwelche Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Wenn es Probleme gibt, können wir sie beheben. Die Dinge sind nicht statisch. Das könnte Sie auch interessieren:
|
<<: Schritte zum Ausführen von ASP.NET Core im Docker-Container
>>: jQuery-Plugin zum Erzielen eines Code-Rain-Effekts
Lösungsprozess: Methode 1: Die Standard-Kernelver...
Inhaltsverzeichnis Was ist ein Einfügepuffer? Was...
Inhaltsverzeichnis 1. So zeigen Sie die Binärdate...
brauchen Unabhängig davon, ob es sich um ein Wind...
Inhaltsverzeichnis 1. Herunterladen 2. Bereitstel...
1. Was ist Continuous Delivery Der Ausgabeprozess...
1. Docker-Installation und -Einstellungen #Instal...
Heute habe ich die MySQL-Datenbank erneut auf mei...
Inhaltsverzeichnis MySQL-Protokolldateien binlog ...
Inhaltsverzeichnis Einführung Herunterladen und i...
In diesem Artikel werden die Installationsschritt...
Um eine Tabelle in HTML zu zeichnen, verwenden Si...
Inhaltsverzeichnis 1. Globale Wache 1. Globale Fr...
Hintergrund Lassen Sie mich zunächst den Hintergr...
Neue Funktion von IE8: Web Slices (Web Slices) Mi...