MySQL ist derzeit eines der beliebtesten relationalen Datenbankverwaltungssysteme. Es unterstützt die Datenreplikation und -synchronisierung, um hohe Verfügbarkeit und Datenschutz zu erreichen. In diesem Artikel wird die Implementierung der Datenreplikation und -synchronisierung in MySQL vorgestellt und einige Codebeispiele bereitgestellt.
1. Grundprinzipien der MySQL-Datenreplikation
Die MySQL-Datenreplikation wird durch das Kopieren von Daten von einer Datenbank in eine andere erreicht. Es basiert auf dem Master-Slave-Replikationsmodell, bei dem eine Datenbank als Master-Server fungiert und für den Empfang und die Verarbeitung aller Schreibvorgänge verantwortlich ist, während andere Datenbanken als Slave-Server fungieren und für die Anforderung und den Erhalt von Datenaktualisierungen vom Master-Server verantwortlich sind. Die Datenreplikation erfolgt durch die Übertragung des Binärprotokolls vom Master-Server zum Slave-Server.
[mysqld]
server-id=1
log-bin=mysql-bin
Dabei ist server-id die eindeutige Kennung des Hauptservers und log-bin gibt den Namen der binären Protokolldatei an.
Dann starten Sie den MySQL-Dienst neu, damit die Konfiguration wirksam wird.
[mysqld]
server-id=2
relay-log=mysql-relay-bin
log-slave-updates=1
woher die Server-ID stammt Relay-log ist die eindeutige Kennung des Servers und gibt den Namen der Relay-Protokolldatei an. Log-Slave-Updates gibt an, ob der Slave-Server Binärprotokolle aufzeichnet.
Dann starten Sie den MySQL-Dienst neu, damit die Konfiguration wirksam wird.
CREATE USER 'replication'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON TO '. replication'@'%';
Dann rufen Sie den Namen und den Speicherort der binären Protokolldatei auf dem Master-Server mit dem folgenden Befehl ab:
SHOW MASTER STATUS;
Führen Sie den folgenden Befehl auf dem Slave-Server aus, um einen Replikationskanal einzurichten:
CHANGE MASTER TO MASTER_HOST='Hauptserver-IP', MASTER_USER='Replikation', MASTER_PASSWORD='Passwort', MASTER_LOG_FILE='Binärer Protokolldateiname', MASTER_LOG_POS=Speicherort;
Dann starten Sie die Replikationsfunktion des Slave-Servers :
START SLAVE ;
2. So implementieren Sie die MySQL-Datensynchronisierung
MySQL-Datensynchronisierung bezieht sich auf die Konsistenz der Daten zwischen mehreren Datenbanken, um die Echtzeit und Konsistenz der Daten sicherzustellen. Im Folgenden werden einige gängige Implementierungsmethoden für die Datensynchronisierung vorgestellt.
(1) Aktivieren Sie die Binärprotokollfunktion auf dem Master-Server und konfigurieren Sie das Binlog-Format auf ROW:
binlog_format=ROW
(2) Konfigurieren Sie die Replikation auf dem Slave-Server und verwenden Sie CHANGE MASTER-Befehl zum Einrichten eines Replikationskanals und zum Starten der Replikation.
(3) Erstellen Sie einen Trigger auf dem Slave-Server, um Daten zu synchronisieren, wenn sich die Daten auf dem Master-Server ändern.
DELIMITER $$
CREATE TRIGGER sync_data AFTER INSERT ON Tabellenname FÜR JEDE Zeile
BEGIN
INSERT INTO Tabellenname VALUES (NEW.field 1, NEW.field 2, ...);
END$$
DELIMITER ;
Wenn sich die Daten auf dem Master-Server ändern, führt der Trigger die entsprechende INSERT-Operation auf dem Slave-Server aus, um eine Datensynchronisierung zu erreichen.
Die spezifischen Schritte sind wie folgt:
(1) Legen Sie beim Erstellen einer Tabelle in jeder Datenbank das Primärschlüsselfeld auf eine Spalte mit automatischer Inkrementierung fest.
(2) Beim Einfügen von Daten in jede Datenbank ist es nicht erforderlich, den Wert des Primärschlüsselfelds anzugeben, die Datenbank generiert automatisch einen eindeutigen Primärschlüsselwert dafür.
(3) Synchronisieren Sie Daten in jeder Datenbank über geplante Aufgaben oder Auslöser mit anderen Datenbanken.
Codebeispiel:
CREATE TABLE Tabellenname (
id INT AUTO_INCREMENT PRIMARY KEY,
Feld 1 VARCHAR(50),
Feld 2 VARCHAR(50)
);
INSERT INTO Tabellenname (Feld 1, Feld 2) VALUES ('Data 1', 'Data 2');
Es gibt noch keine Codebeispiele. Bitte beachten Sie die offizielle Dokumentation und Anwendungsbeispiele des Tools.
Zusammenfassung:
In diesem Artikel werden Methoden zum Erreichen der Datenreplikation und -synchronisierung in MySQL sowie zugehörige Codebeispiele vorgestellt. Durch Datenreplikation und -synchronisierung können wir eine hohe Verfügbarkeit der Datenbank und Datenschutz erreichen und die Stabilität und Zuverlässigkeit des Systems verbessern. Gleichzeitig kann die Auswahl geeigneter Methoden und Tools auf der Grundlage tatsächlicher Anforderungen den Geschäftsanforderungen besser gerecht werden.
Das obige ist der detaillierte Inhalt vonWie erreicht man eine Datenreplikation und -synchronisierung in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!