Heim Datenbank MySQL-Tutorial Beispiel-Tutorial für MySQL5.7-Gruppenübermittlung und parallele Replikation

Beispiel-Tutorial für MySQL5.7-Gruppenübermittlung und parallele Replikation

Jun 20, 2017 pm 03:13 PM
复制 parallel

Seit MySQL Version 5.5 wurde der parallele Replikationsmechanismus eingeführt, was eine sehr wichtige Funktion von MySQL ist.
MySQL 5.6 beginnt mit der Unterstützung der parallelen Replikation mit Schema als Dimension. Das heißt, wenn das Binlog-Zeilenereignis auf Objekten unterschiedlicher Schemata ausgeführt wird, kann eine parallele Replikation erreicht werden, wenn festgestellt wird, dass es keine DDL und Fremddaten gibt Schlüsselabhängigkeiten.
Die Community hat auch eine Version der parallelen Replikation mit Tabellen als Dimensionen oder Datensätzen als Dimensionen eingeführt. Unabhängig davon, ob es sich um ein Schema, eine Tabelle oder einen Datensatz handelt, basiert sie auf dem Standby-Datenbankslave, der Ereignisse im Zeilenformat in Echtzeit analysiert Zur Beurteilung wird sichergestellt, dass keine Konflikte auftreten. Die Verteilung wird durchgeführt, um Parallelität zu erreichen.
Parallele Replikation von MySQL5.7, Multithread-Slave ist MTS. Es wird erwartet, dass die Parallelität der Hauptdatenbank maximiert wird. Dies kann erreicht werden, indem die erforderlichen Informationen zum Binlog-Ereignis hinzugefügt werden, damit der Slave Der Knoten kann anhand dieser Informationen Parallelität erreichen.
Die parallele Replikation von MySQL 5.7 basiert auf Gruppen-Commit. Alle vorbereiteten Anweisungen, die in der Hauptdatenbank ausgeführt werden können, zeigen an, dass kein Datenkonflikt vorliegt, und können parallel auf dem Slave-Knoten repliziert werden.
In Bezug auf die Gruppenübermittlung von MySQL5.7 müssen wir uns die folgenden Parameter ansehen:
mysql> show global variables like '%group_commit%';+-----------------------------------------+-------+| Variable_name | Value |+-----------------------------------------+-------+| binlog_group_commit_sync_delay | 0 || binlog_group_commit_sync_no_delay_count | 0 |+-----------------------------------------+-------+2 rows in set (0.00 sec)
Nach dem Login kopieren

binlog_group_commit_sync_delay Dieser Parameter steuert die Zeit, die auf die Protokollübermittlung gewartet wird, bevor die Festplatte geleert wird. Der Standardwert ist 0, was bedeutet, dass die Festplatte sofort nach der Übermittlung geleert wird Gleichzeitiges Spülen nennen wir Gruppenunterwerfung. Die Gruppenübermittlung ist die Grundlage der parallelen Replikation. Wenn wir diesen Wert auf mehr als 0 setzen, bedeutet dies, dass die Gruppenübermittlungsfunktion aktiviert ist. Der Maximalwert kann nur auf 1000000 Mikrosekunden eingestellt werden.
binlog_group_commit_sync_no_delay_count, dieser Parameter bedeutet, dass innerhalb der Wartezeit von binlog_group_commit_sync_delay eine Gruppenübermittlung ausgelöst wird, wenn die Anzahl der Dinge den durch binlog_group_commit_sync_no_delay_count festgelegten Parameter erreicht wird keinen Einfluss haben. Wenn die Zeit erreicht ist, die Anzahl der Transaktionen jedoch nicht erreicht wurde, wird auch ein Gruppenübermittlungsvorgang durchgeführt.
Gruppenübermittlung ist eine unterhaltsamere Möglichkeit. Wir können sehen, worauf die Gruppenübermittlung anhand des Binlogs von MySQL basiert:
[root@mxqmongodb2 log]# mysqlbinlog mysql-bin.000005 |grep last_committed
#170607 11:24:57 server id 353306 end_log_pos 876350 CRC32 0x92093332 GTID last_committed=654 sequence_number=655#170607 11:24:58 server id 353306 end_log_pos 880406 CRC32 0x344fdf71 GTID last_committed=655 sequence_number=656#170607 11:24:58 server id 353306 end_log_pos 888700 CRC32 0x4ba2b05b GTID last_committed=656 sequence_number=657#170607 11:24:58 server id 353306 end_log_pos 890675 CRC32 0xf8a8ad64 GTID last_committed=657 sequence_number=658#170607 11:24:58 server id 353306 end_log_pos 892770 CRC32 0x127f9cdd GTID last_committed=658 sequence_number=659#170607 11:24:58 server id 353306 end_log_pos 894757 CRC32 0x518abd93 GTID last_committed=659 sequence_number=660#170607 11:37:46 server id 353306 end_log_pos 895620 CRC32 0x99174f95 GTID last_committed=660 sequence_number=661#170607 11:37:51 server id 353306 end_log_pos 895897 CRC32 0xb4ffc341 GTID last_committed=661 sequence_number=662#170607 11:38:00 server id 353306 end_log_pos 896174 CRC32 0x6bcbc492 GTID last_committed=662 sequence_number=663#170607 11:39:40 server id 353306 end_log_pos 896365 CRC32 0x1fe16c7c GTID last_committed=663 sequence_number=664
Nach dem Login kopieren

Das Obige ist ein Protokoll ohne aktivierte Gruppenübermittlung. Wir können sehen, dass es im Binlog zwei Parameter gibt: last_committed und sequence_number. Wir können sehen, dass das nächste ist:
Nach der Konfiguration der Gruppenübermittlung In der Hauptbibliothek müssen wir der Slave-Bibliothek die folgenden Parameter hinzufügen: last_committed ist immer gleich der sequence_number des vorherigen Dings. Dies ist auch leicht zu verstehen, da die Dinge nacheinander eingereicht werden, sodass es nicht überraschend ist, es zu verstehen.
Hier ist ein Blick auf die Dinge im Gruppeneinreichungsmodus:
[root@mxqmongodb2 log]# mysqlbinlog mysql-bin.000008|grep last_commit
#170609 10:11:07 server id 353306 end_log_pos 75629 CRC32 0xd54f2604 GTID last_committed=269 sequence_number=270#170609 10:13:03 server id 353306 end_log_pos 75912 CRC32 0x43675b14 GTID last_committed=270 sequence_number=271#170609 10:13:24 server id 353306 end_log_pos 76195 CRC32 0x4f843438 GTID last_committed=270 sequence_number=272
Nach dem Login kopieren

Wir können die letzten beiden Dinge sehen „Last_Committed“ ist dasselbe. Was bedeutet das, dass zwei Dinge als Gruppe übermittelt werden? Dies wird als Gruppeneinreichung bezeichnet.
#MTS
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8 #太多的线程会增加线程间同步的开销,建议4-8个slave线程
master_info_repository=TABLErelay_log_info_repository=TABLErelay_log_recovery=ONslave-parallel-type有两个之,DATABASE和LOGICAL_CLOCK,DATABASE: 默认值,兼容5.6以schema维度的并行复制, LOGICAL_CLOCK: MySQL 5.7基于组提交的并行复制机制。
Nach dem Login kopieren

Zusammenfassend basiert die parallele Replikation von MySQL5.7 auf dem Gruppen-Commit der Hauptbibliothek und der Konfiguration der folgenden Parameter der Slave-Bibliothek: mysql> Variablen wie „% Slave_para%“ anzeigen;

+------------------------+---------------+| Variable_name | Value |+------------------------+---------------+| slave_parallel_type | LOGICAL_CLOCK || slave_parallel_workers | 8 |+------------------------+---------------+2 rows in set (0.01 sec)
Nach dem Login kopieren

Um die parallele Replikation von MySQL5.7 zu verwenden, müssen Sie zunächst binlog_group_commit_sync_delay auf größer als 0 setzen in der Hauptbibliothek, und legen Sie dann den Thread in der Slave-Bibliothek auf Zahlen und verwandte Arten fest. Was wir oben festgelegt haben, ist 8, und dann können Sie der Slave-Bibliothek entnehmen, dass

mysql> show processlist;+----+-------------+--------------------+------+---------+--------+--------------------------------------------------------+------------------+| Id | User        | Host               | db   | Command | Time   | State                                                  | Info             |+----+-------------+--------------------+------+---------+--------+--------------------------------------------------------+------------------+|  1 | system user |                    | NULL | Connect | 373198 | Waiting for master to send event                       | NULL             ||  2 | system user |                    | NULL | Connect |   1197 | Slave has read all relay log; waiting for more updates | NULL             ||  4 | system user |                    | NULL | Connect |   4292 | Waiting for an event from Coordinator                  | NULL             ||  5 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  6 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  7 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  8 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  9 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             || 10 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             || 11 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             || 16 | root        | 10.103.16.34:37263 | NULL | Query   |      0 | starting                                               | show processlist |+----+-------------+--------------------+------+---------+--------+--------------------------------------------------------+------------------+
Nach dem Login kopieren

die Slave-Bibliothek acht Threads hat, die auf die Transaktionsverarbeitung warten, statt nur einem.

Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial für MySQL5.7-Gruppenübermittlung und parallele Replikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So kopieren Sie Liedtexte von QQ Music. So kopieren Sie Liedtexte So kopieren Sie Liedtexte von QQ Music. So kopieren Sie Liedtexte Mar 12, 2024 pm 08:22 PM

Wir Benutzer sollten in der Lage sein, die Vielfalt einiger Funktionen zu verstehen, wenn wir diese Plattform nutzen. Wir wissen, dass die Texte einiger Songs sehr gut geschrieben sind. Manchmal hören wir es sogar mehrmals und haben das Gefühl, dass die Bedeutung sehr tiefgreifend ist. Wenn wir die Bedeutung verstehen möchten, möchten wir sie jedoch direkt kopieren und als Text verwenden Sie müssen nur lernen, wie man Liedtexte kopiert. Ich glaube, Sie haben alle keine Erfahrung mit diesen Vorgängen, aber es ist in der Tat etwas schwierig, sie heute auf Ihrem Mobiltelefon zu bedienen Der Herausgeber ist hier, um Ihnen zu helfen. Wenn es Ihnen auch gefällt, schauen Sie es sich nicht an.​

Was ist die Tastenkombination zum Kopieren? Was ist die Tastenkombination zum Kopieren? Mar 10, 2023 pm 02:00 PM

Die Tastenkombination zum Kopieren ist „Strg+c“ und die entsprechende Einfügetaste ist „Strg+v“. Auf dem Computer verwenden Sie die Maus, um Text zu ziehen und auszuwählen, halten Sie die Strg-Taste gedrückt und klicken Sie dann auf die C-Taste, um den Vorgang abzuschließen Kopieren; Eine Tastenkombination bezieht sich auf das Abschließen eines Vorgangs über bestimmte Tasten, Tastenfolgen oder Tastenkombinationen.

PS-Tastenkombination zum Kopieren der Ebene PS-Tastenkombination zum Kopieren der Ebene Feb 23, 2024 pm 02:34 PM

In den PS-Tastenkombinationen zum Kopieren von Ebenen können wir erkennen, dass Sie zum schnellen Kopieren die Tastenkombination [Strg+J] verwenden können, wenn Sie eine Ebene mit PS kopieren möchten. Diese Einführung in die Tastenkombinationen zum Kopieren von Ebenen kann Ihnen die spezifische Operationsmethode erläutern. Im Folgenden finden Sie den detaillierten Inhalt. Schauen Sie sich also um. PS-Tastenkombination zum Kopieren der Ebene: [Strg+J] Spezifische Methode: 1. Öffnen Sie das Bild in PS und wählen Sie die Ebene aus, die kopiert werden muss. 2. Drücken Sie gleichzeitig [Strg+J] auf der Tastatur, um das Kopieren der Ebene abzuschließen. Andere Kopiermethoden: 1. Nachdem Sie das Bild geöffnet haben, halten Sie die Ebene gedrückt und verschieben Sie das Symbol [Neue Ebene] nach unten. 2. Nachdem Sie sich zum Symbol bewegt haben, lassen Sie es los. 3. Die Ebenenkopie ist abgeschlossen.

Was soll ich zur Tastenkombination „Strg' zum Kopieren hinzufügen? Was soll ich zur Tastenkombination „Strg' zum Kopieren hinzufügen? Mar 15, 2024 am 09:57 AM

In Windows-Systemen ist die Tastenkombination zum Kopieren Strg+C; in Apple-Systemen ist die Tastenkombination zum Kopieren Befehl+C; in Linux-Systemen ist die Tastenkombination zum Kopieren Strg+Umschalt+C. Die Kenntnis dieser Tastenkombinationen kann die Arbeitseffizienz des Benutzers verbessern und Text- oder Dateikopiervorgänge erleichtern.

Erfahren Sie, wie Sie Verknüpfungen zum Kopieren und Einfügen verwenden Erfahren Sie, wie Sie Verknüpfungen zum Kopieren und Einfügen verwenden Jan 13, 2024 pm 12:27 PM

Wenn viele Benutzer Computer verwenden und auf etwas stoßen, das kopiert und eingefügt werden muss, ist das Kopieren mit der Maus sehr mühsam. Schauen Sie sich also das detaillierte Tutorial an Tastenkombination „Kopieren und Einfügen“ So verwenden Sie die Taste: 1. Kopiertaste: Strg+C, wählen Sie den zu kopierenden Text oder das Bild aus und drücken Sie die Tastenkombination. 2. Einfügetaste: Strg+V. Drücken Sie einfach die Tastenkombination direkt an der Stelle, an der Sie einfügen möchten.

Gängige Techniken und Lösungen zur Leistungsoptimierung und Code-Refaktorierung in C# Gängige Techniken und Lösungen zur Leistungsoptimierung und Code-Refaktorierung in C# Oct 09, 2023 pm 12:01 PM

Gängige Leistungsoptimierungs- und Code-Refactoring-Techniken und -Lösungen in C# Einführung: Im Softwareentwicklungsprozess sind Leistungsoptimierung und Code-Refactoring wichtige Zusammenhänge, die nicht ignoriert werden dürfen. Insbesondere bei der Entwicklung großer Anwendungen mit C# kann die Optimierung und Umgestaltung des Codes die Leistung und Wartbarkeit der Anwendung verbessern. In diesem Artikel werden einige gängige C#-Leistungsoptimierungs- und Code-Refactoring-Techniken vorgestellt und entsprechende Lösungen und spezifische Codebeispiele bereitgestellt. 1. Fähigkeiten zur Leistungsoptimierung: Wählen Sie den geeigneten Sammlungstyp: C# bietet eine Vielzahl von Sammlungstypen, z. B. List, Dict

Wie kopiere ich eine Tabelle in Excel und behalte das Originalformat bei? Wie kopiere ich eine Tabelle in Excel und behalte das Originalformat bei? Mar 21, 2024 am 10:26 AM

Wir verwenden häufig Excel, um mehrere Tabellendaten zu verarbeiten. Nach dem Kopieren und Einfügen der festgelegten Tabelle wird das ursprüngliche Format auf die Standardeinstellung zurückgesetzt und wir müssen es zurücksetzen. Tatsächlich gibt es eine Möglichkeit, dafür zu sorgen, dass die Excel-Kopiertabelle das ursprüngliche Format beibehält. Die spezifische Methode wird Ihnen im Folgenden erläutert. 1. Schritte zum Ziehen und Kopieren mit der Strg-Taste: Verwenden Sie die Tastenkombination [Strg+A], um alle Tabelleninhalte auszuwählen, und bewegen Sie dann den Mauszeiger an den Rand der Tabelle, bis der bewegliche Cursor erscheint. Halten Sie die [Strg]-Taste gedrückt und ziehen Sie dann die Tabelle an die gewünschte Position, um die Verschiebung abzuschließen. Es ist zu beachten, dass diese Methode nur auf einem einzelnen Arbeitsblatt funktioniert und nicht zwischen verschiedenen Arbeitsblättern verschoben werden kann. 2. Schritte zum selektiven Einfügen: Drücken Sie die Tastenkombination [Strg+A], um alle Tabellen auszuwählen, und drücken Sie

Wie kopiere und verschiebe ich Drag-and-Drop-Elemente in Vue? Wie kopiere und verschiebe ich Drag-and-Drop-Elemente in Vue? Jun 25, 2023 am 08:35 AM

Vue ist ein beliebtes JavaScript-Framework, das eine praktische Drag-and-Drop-Funktion bietet, mit der wir Elemente einfach kopieren und verschieben können. Schauen wir uns als Nächstes an, wie man Drag-and-Drop-Elemente in Vue kopiert und verschiebt. 1. Grundlegende Implementierung von Drag-and-Drop-Elementen Um Drag-and-Drop-Elemente in Vue zu kopieren und zu verschieben, müssen Sie zunächst die grundlegende Drag-and-Drop-Funktion des Elements implementieren. Die spezifische Implementierungsmethode lautet wie folgt: Fügen Sie die Elemente hinzu, die in die Vorlage gezogen werden müssen: <divclass="drag-elem"

See all articles