Dieser Artikel beschreibt, wie man eine MySQL Master-Slave-Datenbank erstellt. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: Der Master-Slave-Server ist eine sehr gute Lösung für die Echtzeit-Datensynchronisierung und -sicherung von MySQL. Mittlerweile verwenden alle großen, mittleren und kleinen Websites die MySQL-Datenbank-Master-Slave-Serverfunktion, um eine asynchrone Sicherung der Website-Datenbank durchzuführen. Jetzt stellen wir die Konfigurationsschritte für den Master-Slave-Server vor. Für die MySQL-Master-Slave-Replikation sind mindestens zwei MySQL-Dienste erforderlich. Natürlich können MySQL-Dienste auch auf verschiedene Server verteilt werden oder es können mehrere Dienste auf einem Server gestartet werden. (1) Stellen Sie zunächst sicher, dass die MySQL-Versionen auf dem Master- und Slave-Server identisch sind (2) Richten Sie auf dem Master-Server ein Slave-Datenbankkonto ein und erteilen Sie mit mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'192.168.0.99' IDENTIFIZIERT DURCH '123456'; Abfrage OK, 0 Zeilen betroffen (0,13 Sek.) (3) Ändern Sie die Konfigurationsdatei my.cnf der Hauptdatenbank, aktivieren Sie BINLOG und legen Sie den Wert der Server-ID fest. Nach der Änderung müssen Sie den MySQL-Dienst neu starten. [mysqld] log-bin = /home/mysql/log/mysql-bin.log Server-ID = 1 (4) Sie können dann den aktuellen Binärprotokollnamen und den Offset des Masterservers abrufen. Der Zweck dieser Operation besteht darin, Daten von diesem Punkt wiederherzustellen, nachdem die Slave-Datenbank gestartet wurde. mysql> Masterstatus anzeigenG; *************************** 1. Reihe *************************** Datei:mysql-bin.000003 Position: 243 Binlog_Do_DB: Binlog_Ignore_DB: 1 Zeile im Satz (0,00 Sek.) (5) OK, jetzt können wir die Aktualisierung der Masterdaten beenden und ein Backup der Masterdatenbank erstellen. Wir können die Daten mit mysqldump in die Slavedatenbank exportieren. Natürlich können Sie die Datendatei auch mit dem Befehl cp direkt in die Slavedatenbank kopieren. Beachten Sie, dass Sie vor dem Exportieren von Daten die Lesesperre für die primäre Datenbank aktivieren sollten, um die Datenkonsistenz sicherzustellen. mysql> Tabellen mit Lesesperre leeren; Abfrage OK, 0 Zeilen betroffen (0,19 Sek.) Dann mysqldump mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql Am besten stellen Sie den Schreibvorgang wieder her, nachdem die primäre Datenbank gesichert wurde. mysql> Tabellen entsperren; Abfrage OK, 0 Zeilen betroffen (0,28 Sek.) (6) Kopiere die Datei test.sql aus der Master-Datensicherung in die Slave-Datenbank und importiere sie (7) Ändern Sie dann die Datei my.cnf der Slave-Datenbank, fügen Sie den Parameter Server-ID hinzu, geben Sie den für die Replikation verwendeten Benutzer, die IP und den Port des Master-Datenbankservers sowie die Datei und den Speicherort an, an denen das Replikationsprotokoll ausgeführt werden soll. [mysqld] Server-ID = 2 log_bin = /var/log/mysql/mysql-bin.log Master-Host =192.168.1.100 Master-Benutzer = Test Master-Passwort = 123456 Master-Port =3306 Master-Verbindungswiederholung = 60 replizieren-do-db =test (8) Starten Sie auf dem Slave-Server den Slave-Prozess mysql> Slave starten; (9) Überprüfen Sie den Slave-Server mit dem Befehl mysql> SLAVE-STATUS ANZEIGEN G *************************** 1. Reihe *************************** Slave_IO_State: Wartet darauf, dass der Master ein Ereignis sendet Master_Host: lokaler Host Master_Benutzer: root Master_Port: 3306 Verbindungswiederholung: 3 Master_Log_File:mysql-bin.003 Read_Master_Log_Pos: 79 Relay_Log_File: gbichot-relay-bin.003 Relay_Log_Pos: 548 Relay_Master_Log_File:mysql-bin.003 Slave_IO_Running: Ja Slave_SQL_Running: Ja (10) OK, jetzt können wir einige Update-Operationen auf unserem Master-Server durchführen und dann prüfen, ob das Update auf dem Slave-Server abgeschlossen wurde. Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
>>: Detaillierte Erläuterung der benutzerdefinierten Anweisungen zur Vue.js-Quellcodeanalyse
Inhaltsverzeichnis Vue3 + TypeScript lernen 1. Um...
Nginx kann die Direktive „limit_req_zone“ des Mod...
Die mobile Version der Website sollte zumindest ü...
Inhaltsverzeichnis 1. Übersicht über die logische...
Problem/Fehler/Szenario/Anforderung Die Festplatt...
Der MySQL-Abfragecache ist standardmäßig aktivier...
Auf vielen Websites wird im Eingabefeld Hinweiste...
Lassen Sie uns zuerst die Datentabelle erstellen....
1. Installieren Sie Abhängigkeitspakete yum -y in...
Einführung in jQuery Die jQuery-Bibliothek kann e...
In diesem Artikel erfahren Sie mehr über die Inst...
Vor ein paar Tagen habe ich erfahren, dass die of...
Oder schreiben Sie den Installationsvorgang selbs...
Tatsächlich fragen wir uns jeden Tag, wann IE6 wi...
In diesem Artikel wird der spezifische Code für J...