Heim Datenbank MySQL-Tutorial Wie implementiert man die MySQL-Master-Slave-Replikation auf einem Windows-Host?

Wie implementiert man die MySQL-Master-Slave-Replikation auf einem Windows-Host?

May 12, 2018 am 09:22 AM
windows 实现

Die Master-Slave-Replikation von MySQL wird über Binlog-Protokolle implementiert. Der „Master“ bezieht sich bei der Master-Slave-Replikation auf die Datenbank auf dem MySQL-Master-Server und der „Slave“ bezieht sich auf den MySQL-Slave-Server .Datenbank, und diese Art der Replikation basiert auf der Datenbankebene. Aus diesem Grund muss der Datenbankname im Slave-Server mit dem Datenbanknamen im Master-Server übereinstimmen mindestens zwei MySQL-Server (Am besten ist es, wenn sich die beiden MySQL-Server auf unterschiedlichen Hosts befinden oder zwei MySQL-Server auf einem Host mit unterschiedlichen Ports installiert sind).

Im Allgemeinen sind die Hauptdatenbank und die Slave-Datenbank der MySQL-Datenbank auf verschiedene Hosts verteilt. Wenn wir jetzt nur einen Host haben und es sich um ein Windows-System handelt, wie implementiert man dann die Master-Slave-Replikation von MySQL? Die Methode ist wie folgt:

Hier stellen wir nur die Betriebsmethode von einem Master und einem Slave vor.

Auf meinem Computer ist die integrierte xampp-Umgebung installiert (ähnlich dem wamp-Installationspaket), und der darin enthaltene MySQL-Dienst kann als Hauptserver von MySQL verwendet werden. Dann müssen wir auf diesem Computer auch ein weiteres MySQL als Slave-Server der Datenbank installieren.

Die installierte MySQL-Version in meinem Computer xampp ist 5.6.20 und der Port ist 3306.

Wir müssen ein anderes MySQL installieren (am besten installieren Sie dieselbe Version oder eine ähnliche Version, um Probleme zu vermeiden) und der Port wird auf 3307 geändert

Datenbankserverparameter:


  • Masterserver (Master): IP ist 127.0.0.1, Port ist 3306

  • Slave: IP ist 127.0.0.1, Port ist 3307

Masterserver Konfiguration:

Ändern Sie die Datenbankkonfigurationsdatei des Hauptservers (E:xamppmysqlbinmy.ini) und fügen Sie unten im [mysqld]-Tag Folgendes hinzu Code:

#Die Datenbank, die gesichert werden muss

binlog-do-db=test

#Die Datenbank, die nicht gesichert werden muss up

binlog-ignore-db=mysql

#Binärprotokoll aktivieren

log-bin=mysql-bin

#Server-ID

server-id=1

Speichern Beenden Sie den MySQL-Hauptserver und starten Sie ihn neu.

binlog-do-db wird verwendet, um die Datenbank anzugeben, die synchronisiert werden muss. binlog-ignore-db gibt die Datenbank an, die nicht synchronisiert werden muss Der Server kopiert alle Datenbanken vom Master-Server.

Im Allgemeinen wird das Root-Konto nicht für das Synchronisierungskonto verwendet. Aus diesem Grund müssen wir einen neuen Benutzer auf dem Hauptserver erstellen (z. B. Benutzer01, Passwort ist 123456).

Hier erstellen wir es über die Befehlszeile. Die Methode ist wie folgt:

Öffnen Sie cmd, wechseln Sie zu E:xamppmysqlbin , verwenden Sie das Root-Konto, um eine Verbindung zum MySQL-Hauptserver herzustellen:

mysql -uroot -p -P3306

Erstellen Sie einen neuen Benutzer :

Benutzer 'user01'@'127.0.0.1' erstellen, identifiziert durch '123456';

(die IP-Adresse nach @ Die IP-Adresse des Clients, der eine Verbindung herstellen darf.)

Konfigurieren Sie dann die Master-Slave-Replikationsberechtigungen für den neuen Benutzer:

Zuschuss Replikationsslave auf *.* an „Benutzer01“@„127.0.0.1“, identifiziert durch „123456“;

(die IP-Adresse nach @ darf eine Verbindung herstellen Wenn die IP-Adresse des Clients in „%“ geändert wird, bedeutet dies, dass für den Client keine IP-Adressbeschränkungen gelten.)

Wenn bereits Daten in der Datenbank des Hauptservers vorhanden sind (Test), werden wir Zuerst müssen Sie die Daten manuell vom Master-Server auf den Slave-Server kopieren. Die Methode ist wie folgt:

In diesem Fall sichern wir nur eine Datenbank (Test). Es gibt eine Tabelle basic_user im Test und es sind bereits Daten in der Tabelle vorhanden. Um zu verhindern, dass die Daten im Datenbanktest aktualisiert werden, wenn wir die Daten kopieren, müssen wir zuerst die Datenbank sperren. Der Befehl lautet wie folgt:

Tabellen mit Lesesperre leeren;

Bei diesem Befehl handelt es sich um eine globale Lesesperre für alle Datenbanken im Hauptserver ist der Unterschied zwischen Lesesperren und Schreibsperren:


  • Lesesperre: auch Shared Lock genannt, erlaubt alle liest den Vorgang, blockiert aber den Schreibvorgang, d. h. alle Verbindungen können nur Daten lesen, dürfen aber keine Daten schreiben.

  • Schreibsperre: Wird auch als exklusive Sperre oder exklusive Sperre bezeichnet und ermöglicht nur das Lesen und Schreiben der aktuellen Verbindung und keine anderen gleichzeitigen Lese- und Schreibvorgänge .


Nachdem wir die Datenbank des Master-Servers gesperrt haben, erstellen wir auch einen Datenbanktest im Slave-Server und stellen alle Tabellen ein (einschließlich Tabellenstruktur und Tabellendaten) werden importiert.

Dann führen wir den folgenden Befehl zum Entsperren aus:

unlock tables; 🎜>

Masterstatus des Hauptservers anzeigen: mysql> show master status;

+------------------+----------+--------------+- -- -------------+----+

| Binlog_Do_DB | Binlog_Ignore_DB |. Executed_Gtid_Set |

+------------------+----------+--------- - ----+------------------+-------------------+

|. mysql-bin.000008 |. 498 |. ------------- ----+

Slave-Server-Konfiguration:

Ändern Sie die Datenbankkonfigurationsdatei des Slave-Servers ( E:mysql

my.ini) und fügen Sie am Ende des

[mysqld]-Tags das hinzu folgender Code: #Port

port = 3307

#Server-IDserver_id = 2

#Binärprotokoll aktivieren (der Slave-Server muss das Binärprotokoll nicht aktivieren)

log-bin=mysql-bin

Speichern und beenden, den MySQL-Dienst neu starten.

Stellen Sie eine Verbindung zum MySQL-Slave-Server her:

mysql -uroot -p -P3307

Konfigurieren Sie die kopierten Parameter:

Master ändern in master_host='127.0.0.1',master_user='user01',master_password='123456',master_port=3306, master_log_file= 'mysql-bin.000008',master_log_pos=498;

Parameterdetails:

master_host: IP des Masters server
master_user: Der neu erstellte Benutzername auf dem Masterserver
master_password: Das Passwort des Benutzers
master_port: Der Port des Master-Server. Wenn er nicht geändert wurde, reicht die Standardeinstellung aus.

master_log_file: Der Name der binären Protokolldatei des Master-Servers. Geben Sie den Wert von Datei ein, der beim Anzeigen des Master-Status des Master-Servers angezeigt wird

master_log_pos: Der Speicherort des Protokolls. Füllen Sie den Positionswert aus, der angezeigt wird, wenn Sie den Master-Status des Master-Servers

Slave-Kopierfunktion vom Server starten:

Slave starten;

Slave-Status des Slave-Servers anzeigen:

MySQL anzeigen> Status G

*** ************************ 1. Zeile ************ **************** ****

Slave_IO_State: Warten auf das Senden eines Ereignisses durch den Master

Master_Host: 127.0.0.1

         Master_User: user01

                                           00009

Read_Master_Log_Pos: 120

Relay_Log_File: hp-PC- weitergeleitet

Wenn die Werte von Slave_IO_Running und Slave_SQL_Running beide „Ja“ sind, bedeutet dies, dass alle Konfigurationen der Master-Slave-Replikation erfolgreich waren, d. h. der Slave-Server kann die Datenbank automatisch synchronisieren Daten mit dem Master-Server.

Danach, solange die Daten auf dem Hauptserver aktualisiert werden (zum Beispiel: eine neue Tabelle wird in der Testdatenbank erstellt oder die Daten in der Tabellenänderungen), von Der Server bleibt automatisch mit dem Hauptserver konsistent. Wenn jedoch jemand absichtlich die Daten auf dem Slave-Server ändert, werden die Daten auf dem Master-Server nicht synchron aktualisiert, es sei denn, wir stellen die beiden MySQL-Server als gegenseitigen Master-Slave ein.
Das Obige ist, was ich über die Master-Slave-Architektur zum Konfigurieren von MySQL in einer Fensterumgebung zusammengestellt habe.

Verwandte Artikel:

Mysql-5.7.21 unter Windows installieren

Zusammenfassung der MySQL-Grundkenntnisse

Navicat für MySQL-Download, Installation und einfache Verwendung

Das obige ist der detaillierte Inhalt vonWie implementiert man die MySQL-Master-Slave-Replikation auf einem Windows-Host?. 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)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen 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)

Kann ich MySQL unter Windows 7 installieren? Kann ich MySQL unter Windows 7 installieren? Apr 08, 2025 pm 03:21 PM

Ja, MySQL kann unter Windows 7 installiert werden, und obwohl Microsoft Windows 7 nicht mehr unterstützt hat, ist MySQL dennoch kompatibel damit. Während des Installationsprozesses sollten jedoch folgende Punkte festgestellt werden: Laden Sie das MySQL -Installationsprogramm für Windows herunter. Wählen Sie die entsprechende Version von MySQL (Community oder Enterprise) aus. Wählen Sie während des Installationsprozesses das entsprechende Installationsverzeichnis und das Zeichen fest. Stellen Sie das Stammbenutzerkennwort ein und behalten Sie es ordnungsgemäß. Stellen Sie zum Testen eine Verbindung zur Datenbank her. Beachten Sie die Kompatibilitäts- und Sicherheitsprobleme unter Windows 7, und es wird empfohlen, auf ein unterstütztes Betriebssystem zu aktualisieren.

Wie beschleunigt man die Ladegeschwindigkeit von PS? Wie beschleunigt man die Ladegeschwindigkeit von PS? Apr 06, 2025 pm 06:27 PM

Das Lösen des Problems des langsamen Photoshop-Startups erfordert einen mehrstufigen Ansatz, einschließlich: Upgrade-Hardware (Speicher, Solid-State-Laufwerk, CPU); Deinstallieren veraltete oder inkompatible Plug-Ins; Reinigen des Systemmülls und übermäßiger Hintergrundprogramme regelmäßig; irrelevante Programme mit Vorsicht schließen; Vermeiden Sie das Öffnen einer großen Anzahl von Dateien während des Starts.

Wie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript? Wie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript? Apr 04, 2025 pm 10:21 PM

Wie unterscheidet ich zwischen den Registerkarten und dem Schließen des gesamten Browsers mit JavaScript in Ihrem Browser? Während der täglichen Verwendung des Browsers können Benutzer ...

Wie man die vertikale Referenzlinie von PS zieht Wie man die vertikale Referenzlinie von PS zieht Apr 06, 2025 pm 08:18 PM

Vertikale Leitfäden in Photoshop ziehen: Aktivieren Sie die Lineal View (View & gt; Herrscher). Bewegen Sie die Maus über die vertikale Kante des Herrschers, und dann wird der Cursor zu einer vertikalen Linie mit Doppelpfeilen und halten Sie die Maus, um die Referenzlinie herauszuziehen. Klicken Sie auf Löschen, indem Sie die Anleitung ziehen oder in ein Kreuz schweben.

Lösungen für die von MySQL auf einer bestimmten Systemversion gemeldeten Fehler Lösungen für die von MySQL auf einer bestimmten Systemversion gemeldeten Fehler Apr 08, 2025 am 11:54 AM

Die Lösung für den MySQL -Installationsfehler ist: 1. Überprüfen Sie die Systemumgebung sorgfältig, um sicherzustellen, dass die Anforderungen der MySQL -Abhängigkeitsbibliothek erfüllt werden. Unterschiedliche Betriebssysteme und Versionsanforderungen sind unterschiedlich. 2. Lesen Sie die Fehlermeldung sorgfältig durch und ergreifen Sie entsprechende Maßnahmen gemäß den Eingabeaufforderungen (z. B. fehlende Bibliotheksdateien oder unzureichende Berechtigungen), z. B. die Installation von Abhängigkeiten oder die Verwendung von SUDO -Befehlen; 3. Versuchen Sie bei Bedarf, den Quellcode zu installieren und das Kompilierungsprotokoll sorgfältig zu überprüfen. Dies erfordert jedoch eine bestimmte Menge an Linux -Kenntnissen und -erfahrung. Der Schlüssel zur letztendlichen Lösung des Problems besteht darin, die Systemumgebung und Fehlerinformationen sorgfältig zu überprüfen und auf die offiziellen Dokumente zu verweisen.

【Rost-Selbststudie】 Einführung 【Rost-Selbststudie】 Einführung Apr 04, 2025 am 08:03 AM

1.0.1 Vorwort Dieses Projekt (einschließlich Code und Kommentare) wurde während meines Autodidakt-Rostes aufgezeichnet. Es kann ungenaue oder unklare Aussagen geben. Bitte entschuldigen Sie sich. Wenn Sie davon profitieren, ist es noch besser. 1.0.2 Warum ist Rustrust zuverlässig und effizient? Rost kann C und C mit ähnlicher Leistung, aber höherer Sicherheit ersetzen, und erfordert keine häufige Neukompilation, um auf Fehler wie C und C zu prüfen. Thread-Safe (stellen Sie sicher, dass Multi-Thread-Code vor der Ausführung sicher ist). Vermeiden Sie undefiniertes Verhalten (z. B. Array aus Grenzen, nicht initialisierte Variablen oder Zugriff auf den freien Speicher). Rust bietet moderne Sprachmerkmale wie Generika

MySQL kann nach dem Herunterladen nicht installiert werden MySQL kann nach dem Herunterladen nicht installiert werden Apr 08, 2025 am 11:24 AM

Die Hauptgründe für den Fehler bei MySQL -Installationsfehlern sind: 1. Erlaubnisprobleme, Sie müssen als Administrator ausgeführt oder den Sudo -Befehl verwenden. 2. Die Abhängigkeiten fehlen, und Sie müssen relevante Entwicklungspakete installieren. 3. Portkonflikte müssen Sie das Programm schließen, das Port 3306 einnimmt, oder die Konfigurationsdatei ändern. 4. Das Installationspaket ist beschädigt. Sie müssen die Integrität herunterladen und überprüfen. 5. Die Umgebungsvariable ist falsch konfiguriert und die Umgebungsvariablen müssen korrekt entsprechend dem Betriebssystem konfiguriert werden. Lösen Sie diese Probleme und überprüfen Sie jeden Schritt sorgfältig, um MySQL erfolgreich zu installieren.

See all articles