Eine Optimierungslösung, wenn ein einzelner MySQL-Server den aktuellen Website-Verkehr nicht bewältigen kann. Es muss eine MySQL-Clustertechnologie erstellt werden. 1. Funktion: Beim Einfügen, Ändern oder Löschen von Daten auf dem Master-Server werden die Daten automatisch mit dem Slave-Server synchronisiert. Hinweis: Die Master-Slave-Replikation ist einseitig, nur Master->Slave Es gibt zwei Typen: Übertragungstyp (ein Master und mehrere Slaves): wird im Allgemeinen verwendet für: Sicherung und Trennung von Lesen und Schreiben. Ring (Multi-Master und Multi-Slave): Allgemeine Verwendung: Wenn der Hauptserver stark beansprucht wird, können regionsübergreifende Websites eine Datensynchronisierung erreichen Wenn in einer Ringstruktur Datensätze gleichzeitig auf drei Servern in dieselbe Tabelle eingefügt werden, tritt ein „ID-Konfliktproblem“ auf. Lösung: Lassen Sie die drei Server unterschiedliche IDs generieren; Der Erste: 1,4,7... Zweiter Kanal: 2,5,8... Kanal 3: 3, 6, 9... Dies kann in der MySQL-Konfigurationsdatei eingestellt werden: 2. Das Master-Slave-Prinzip (mithilfe des Bin-Protokolls) In MySQL gibt es ein Protokoll namens Bin-Log (Binärprotokoll). In diesem Protokoll werden alle SQL-Anweisungen aufgezeichnet, die die Datenbank ändern (Einfügen, Aktualisieren, Löschen, ALTER TABLE, Gewähren usw.). Das Prinzip der Master-Slave-Replikation besteht eigentlich darin, das BIN-Protokoll auf dem Master-Server auf den Slave-Server zu kopieren und erneut auszuführen, sodass die Daten auf dem Slave-Server mit den Daten auf dem Master-Server identisch sind. Erweiterung: Protokolliert in MySQL: Abfrageprotokoll Fehlerprotokoll Bin-Protokoll Langsames Protokoll: Sie können einen Zeitschwellenwert festlegen, beispielsweise 0,5 Sekunden, sodass alle SQL-Anweisungen, deren Ausführungszeit diesen Wert überschreitet, in Zukunft aufgezeichnet werden. Auf diese Weise können wir die langsamen SQL-Anweisungen erfassen und gezielt optimieren. Zweck: Sie können schnell das SQL lokalisieren, das die Website herunterzieht, und es dann optimieren, indem Sie einen Index erstellen und die Ergebnisse dieses SQL zwischenspeichern. 3. Tatsächliche Konfiguration Verwenden Sie das MySQL des Windows-Systems als Master-Server und das unter LINUX als Slave-Server. Primärer Server: 1. Bin-Logging aktivieren Ändern Sie die MySQL-Konfigurationsdatei: my.ini und fügen Sie hinzu: Weisen Sie dem Server eine Server-ID zu (die ID-Werte des Master- und Slave-Servers dürfen nicht wiederholt werden) Wenn es sich um einen Ringserver handelt, müssen Sie die folgenden Elemente hinzufügen: log-slave-updates = on // Wenn es sich um einen Ring-Multiserver handelt, müssen Sie dieses Element festlegen. Erstellen Sie auf dem Master-Server ein Konto für den Slave-Server, um Daten zu synchronisieren Bei MySQL anmelden Führen Sie ein SQL aus: Ein Konto mit ausschließlich REPLICATION SLAVE-Berechtigungen wurde erstellt: Benutzername: Slave Passwort: 1234 Führen Sie SQL auf dem primären Server aus, um den Status des aktuellen Binärprotokolls des primären Servers anzuzeigen. Hinweis: Diese beiden Werte ändern sich jedes Mal, wenn Sie die Daten ändern. Bedienen Sie daher nach dem Überprüfen dieser beiden Werte den Master-Server nicht und gehen Sie direkt zur Konfiguration des Slave-Servers. Andernfalls stimmen die Werte nicht überein und die Synchronisierung schlägt fehl. Vom Server (Linux): Binärprotokoll aktivieren Ändern Sie die Konfigurationsdatei /etc/my.cnf Legen Sie eine Server-ID fest: 3. Wenn es sich um einen Ringserver handelt, müssen Sie die folgenden Elemente hinzufügen: log-slave-updates = on // Wenn es sich um einen Ring-Multiserver handelt, müssen Sie dieses Element festlegen. 4. Führen Sie SQL-Anweisungen auf dem Slave-Server aus, um die Adresse des Master-Servers zu konfigurieren: Melden Sie sich bei MySQL an: Einrichten des Slave-Servers und Starten der Replikation 5. Führen Sie SQL aus, um abzufragen, ob der Status des Slave-Servers erfolgreich konfiguriert wurde: Wenn es zwei JA sind, ist der Code erfolgreich! Beenden! Hinweis: Bevor die Konfiguration erfolgreich ist, werden die Daten auf dem Master-Server nicht automatisch auf den Slave-Server übertragen. Daher müssen Sie vor der Konfiguration alle Daten auf dem Master-Server manuell auf den Slave-Server importieren. Nach der Konfiguration von Master und Slave werden die Daten dann synchronisiert. Anwendungen: Der Slave-Server fungiert als Backup-Server für Daten. Wenn der Server stark ausgelastet ist, können Sie Master-Slave-Server verwenden, um Lese- und Schreibverkehr zu trennen und so die Belastung des Servers zu verringern. Regionsübergreifende Website-Optimierung Wie erstellt man eine Message Board-Funktion unter Berücksichtigung der für verschiedene Regionen optimierten Architekturideen? Das Obige sind alle Wissenspunkte zu den Prinzipien der MYSQL-Master-Slave-Replikation. Vielen Dank für Ihr Lernen und Ihre Unterstützung für 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
>>: js, um einen einfachen Front-End-Paging-Effekt zu erzielen
Wenn Sie MySQL 5.7 verwenden, werden Sie feststel...
<br />Einmal unterhielten sich Foyin und Her...
Beim Entwickeln einer Website-Funktion kann der S...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Blog besprechen wir zehn Leistungseinst...
Frage Die Angabe des Typs der hochgeladenen Datei...
Überblick: Das Dateisystemmodul ist ein einfacher...
Vorwort Dies ist eine neue Funktion, die ich kürz...
Bei der Konfiguration von nginx.conf treten immer...
Probieren wir hier den Reverse-Proxy von Nginx au...
Wenn der vorhandene Videoplayer die Anforderungen...
1. Parallelität Die wichtigste Funktion einer OLT...
Mysql konvertiert Abfrageergebnissatz in JSON-Dat...
Bei der Verwendung von <a href="" onc...
Inhaltsverzeichnis Vorwort 1. Hintergrund 2. Simu...