MySQL Patch – MirroredBinlogs (From Google)
这几天看了不少Google针对于MySQL开发的google-mysql-tools,找到一个很有意思的Patch:MirroredBinlogs。 这个Patch通过修改MySQL Replication中Slave IO线程的实现,让该线程在写入relay log的同时,再Mirror了一份与Master端完全一模一样binlog。这里所说
这几天看了不少Google针对于MySQL开发的google-mysql-tools,找到一个很有意思的Patch:MirroredBinlogs。
这个Patch通过修改MySQL Replication中Slave IO线程的实现,让该线程在写入relay log的同时,再Mirror了一份与Master端完全一模一样binlog。这里所说的一模一样不仅仅是binlog的内容完全一样,同时还包括binlog的文件名。也就是说,该线程在Slave端完全copy了一份Master的binlog日志。
在该 Patch 的描述中,该 Patch 产生的初衷是为了解决Slave与Master之前的顺利切换,并保证切换之后其他Slave仍然能够正常从新的Master继续进行复制。
作者设想了如下一个场景:
在 Hierarchical Replication(级联复制)环境中,第一层是有一台 Master ,第二层是两台 Slaves ,这两台Slave主要作用是作为第三层更多 Slave 的 Master 。也就是,第二层的两台 Slave 的角色在整个集群环境中是一个复制代理。如果我们使用的是普通的MySQL,那么中间代理层的两台Slave之间的binlog日志可能会有较大差异,因为两台Slave自身也会有产生binlog的event。而通过使用该Patch之后,通过 Slave IO 线程将第一层中 Master 的binlog完全一模一样的copy到第二层的 Slave 上面,而使这一层的binlog完全一致。这样,当第二层的两台复制代理机器中的一台Crash之后,可以很容易的将第三层中以 前面 Crash 的 Slave 作为 Master 的所有 Slave 可以很容易的切换 Master 到另外一台 代理 Slave 上面。
只不过,开发者已经停止了该Patch的更新,并将该Patch整合到了一个新的叫 GlobalTransactionIds(MySQL Hierarchical Replication & Global Group IDs)的Patch中,只不过该Patch还正在开发中。从 Google 在 GlobalTransactionIds 的介绍中可以看到比其他 Patch 更为详细的一些说明,不知道是否算是对该 Patch 比较重视的一个表现呢? 希望不是我的一厢情愿吧。
自己目前还没有详细测试过 MirroredBinlogs 这个 Patch,也不知道是否奏效,不过我想 Google 应该不会在技术这种事情上拿自己的名声和我们开这种玩笑吧,哈哈。如果有哪位朋友已经做过相关的测试的话,就 Share 一下效果吧…
原文地址:MySQL Patch – MirroredBinlogs (From Google), 感谢原作者分享。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

Durch das Kopieren einer Tabelle in MySQL müssen neue Tabellen erstellt, Daten eingefügt, Fremdschlüssel festgelegt, Indizes, Auslöser, gespeicherte Verfahren und Funktionen kopiert werden. Zu den spezifischen Schritten gehören: Erstellen einer neuen Tabelle mit derselben Struktur. Fügen Sie Daten aus der ursprünglichen Tabelle in eine neue Tabelle ein. Legen Sie die gleiche fremde Schlüsselbeschränkung fest (wenn die Originaltabelle eine hat). Erstellen Sie den gleichen Index. Erstellen Sie denselben Auslöser (wenn die ursprüngliche Tabelle eine hat). Erstellen Sie dieselbe gespeicherte Prozedur oder Funktion (wenn die ursprüngliche Tabelle verwendet wird).

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

Zeigen Sie die MySQL -Datenbank mit dem folgenden Befehl an: Verbindung zum Server: MySQL -U -Benutzername -P -Kennwort ausführen STEILE -Datenbanken; Befehl zum Abrufen aller vorhandenen Datenbanken auswählen Datenbank: Verwenden Sie den Datenbanknamen. Tabelle Ansicht: Tabellen anzeigen; Tabellenstruktur anzeigen: Beschreiben Sie den Tabellennamen; Daten anzeigen: Wählen Sie * aus Tabellenname;

Kopieren und einfügen in MySQL die folgenden Schritte: Wählen Sie die Daten aus, kopieren Sie mit Strg C (Windows) oder CMD C (MAC). Klicken Sie mit der rechten Maustaste auf den Zielort, wählen Sie ein Einfügen oder verwenden Sie Strg V (Windows) oder CMD V (MAC). Die kopierten Daten werden in den Zielort eingefügt oder ersetzen vorhandene Daten (je nachdem, ob die Daten bereits am Zielort vorhanden sind).

Schritte zur Durchführung von SQL in Navicat: Verbindung zur Datenbank herstellen. Erstellen Sie ein SQL -Editorfenster. Schreiben Sie SQL -Abfragen oder Skripte. Klicken Sie auf die Schaltfläche Ausführen, um eine Abfrage oder ein Skript auszuführen. Zeigen Sie die Ergebnisse an (wenn die Abfrage ausgeführt wird).
