1. Realistischer Hintergrund Es gibt 4 Hosts, die alle automatisch Daten erfassen und in ihrer MySQL-Datenbank speichern können, und es gibt einen weiteren Hauptserver mit hoher Konfiguration, der ausschließlich der Datenverarbeitung dient. Diese fünf Maschinen befinden sich häufig nicht im selben Netzwerksegment. Es besteht jedoch die Hoffnung, dass die vier zum Sammeln von Daten verwendeten Hosts automatisch Daten vom Hauptserver sammeln können, sobald sie sich im selben Netzwerksegment befinden. Die Umgebung ist für diesen Zweck konfiguriert. 2. Vereinbarung
3. Konfigurieren Sie den Master 3.1. Startparameter konfigurieren Bei mehreren Mastern müssen Sie lediglich darauf achten, dass die Server-ID inkonsistent ist und den Rest nach Ihren eigenen Bedürfnissen konfigurieren. [mysqld] # Serverkennung, stellen Sie sicher, dass jede Serverkennung unterschiedlich ist Server-ID = 1000 # Auf dem Mastercomputer muss log_bin aktiviert sein # mysql-bin ist ein benutzerdefinierter Name und es werden Dateien wie mysql-bin.index, mysql-bin.000001 usw. generiert log_bin=mysql-bin # Ablaufzeit des Binärprotokolls (Einheit: Tag), der Standardwert ist 0, dh es läuft nicht ab expire_logs_days = 0 # Fehlerprotokoll log-error=/var/lib/mysql/mysql-error.log # Der Maximalwert einer einzelnen log_bin-Datei. Wenn der Maximalwert erreicht ist, wird das Suffix der neu erstellten Datei automatisch erhöht, z. B. mysql-bin.000002 max_binlog_size = 100 M #mysql-Installationspfad basedir=/var/lib/mysql #mysql-Datenpfad datadir=/var/lib/mysql # Die Datenbank, in der der Master den Vorgang aufzeichnet, ist binlog_do_db=replication # Datenbank wird vom Master ignoriert binlog_ignore_db=information_schema binlog_ignore_db=Leistungsschema binlog_ignore_db=sys binlog_ignore_db=mysql # Binärprotokoll-Speichermodus binlog_format=MIXED # Maximaler Speicherwert des Blob-Typs (Einheit: Bytes, B) # 1048576 B = 1 MB max_allowed_package=1048576 # Konfiguration der Passwortkomplexität, erfordert Plugin # Die Passwortlänge muss mindestens 0 betragen # validate_password_length=8 # Mindestanzahl an Groß- und Kleinbuchstaben # validate_password_mixed_case_count=1 # Die Mindestanzahl von Zahlen im Passwort# validate_password_number_count=1 # Die Mindestanzahl an Sonderzeichen im Passwort # validate_password_special_char_count=1 innodb_flush_log_at_trx_commit=0 [mysql] Standardzeichensatz = utf8mb4 [Kunde] Standardzeichensatz = utf8mb4 3.2. Starten Sie den Dienst neu, damit die Parameter wirksam werden 3.3. Als Root anmelden, Benutzer anlegen, Passwort zuweisen, autorisieren und Berechtigungen aktualisieren Benutzerreplikation erstellen und Passwort vergeben: Erstellen Sie den Benutzer „Replikation“@„%“, identifiziert mit dem mysql_native_password von „JINGhuaSHUIyue123,.“; Wenn die Benutzererstellung fehlschlägt, ist der Benutzer möglicherweise bereits vorhanden. Wenn es nicht wichtig ist, können Sie den Benutzer löschen: Benutzer „Replikation“@„%“ löschen; Wenn Sie den Benutzer nicht löschen und neu erstellen, sondern nur das Passwort ändern möchten: Benutzer „Replikation“@„%“ ändern, identifiziert mit mysql_native_password von „JINGhuaSHUIyue123,.“; Gewähren Sie dem Benutzer die Berechtigungen für Replikations-Slaves: gewähre 'Replikation'@'%' Replikations-Slave auf *.*; Stellen Sie sicher, dass die Berechtigungen des Replikations-Slaves sofort wirksam werden, und aktualisieren Sie die Berechtigungen: Berechtigungen leeren; 4. Konfigurieren Sie den Slave-Server 4.1. Startparameter konfigurieren[mysqld] # Serverkennung, stellen Sie sicher, dass jede Serverkennung unterschiedlich ist Server-ID = 2000 #mysql-Installationspfad basedir=D:\mysql #mysql-Datenpfad datadir=D:\mysql\data # replizierte Slave-Datenbank replicate_do_db=test # Die vom Slave ignorierte Datenbank replicate_ignore_db=information_schema replicate_ignore_db=Leistungsschema replicate_ignore_db=mysql replicate_ignore_db=sys # Zeitüberschreitungsintervall für die Wiederverbindung des Slave-Netzwerks (Einheit: Sekunden) slave_net_timeout=60 [mysql] Standardzeichensatz = utf8 [Kunde] Standardzeichensatz = utf8 4.2. Starten Sie den Dienst neu, damit die Parameter wirksam werden 5. Konfigurieren Sie mehrere Master und einen Slave 5.1. Überprüfen Sie den Masterstatus Melden Sie sich als Root bei master1 an und achten Sie auf die Datei und Position: Masterstatus anzeigen; +------------------+----------+--------------+-------------------------------------------------+----------------------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+-------------------------------------------------+----------------------------------+ | mysql-bin.000006 | 155 | Test | Informationsschema, Leistungsschema, Sys, MySQL | | +------------------+----------+--------------+-------------------------------------------------+----------------------------------+ Melden Sie sich als Root bei master1 an und achten Sie auf die Datei und Position: Masterstatus anzeigen; +------------------+----------+--------------+-------------------------------------------------+----------------------------------+ | Datei | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+-------------------------------------------------+----------------------------------+ | mysql-bin.000005 | 155 | Test | Informationsschema, Leistungsschema, Sys, MySQL | | +------------------+----------+--------------+-------------------------------------------------+----------------------------------+ Hinweis: Beim Starten von MySQL wird die Generierung eines neuen Log-Bins erzwungen, der Speicherort ist also 155. 5.2. Konfigurieren der Slave-Master-Beziehung Prüfen Sie, ob weitere Restkonfigurationen vorhanden sind: Slave-Status anzeigen\G; Stoppen Sie den Slave und löschen Sie die restliche Konfiguration: Sklave stoppen; alle Slaves zurücksetzen; Konfigurieren Sie den Replikationskanal "master1" entsprechend der Datei und Position von master1 ändere Master in master_host = '112.124.1.100', master_user = "Replikation", Master-Port = 3306, master_password = "Replikation", master_log_file = "mysql-bin.000006", master_log_pos = 155, master_connect_retry = 15, master_retry_count = 0 für Kanal „Master1“; Konfigurieren Sie den Replikationskanal "master2" entsprechend der Datei und Position von master2 ändere Master in master_host = '192.168.1.139', master_user = "Replikation", Master-Port = 3306, Master-Passwort = "JINGhuaSHUIyue123,.", master_log_file = "mysql-bin.000005", master_log_pos = 155, master_connect_retry = 15, master_retry_count = 0 für Kanal „Master2“;
5.3. Bereiten Sie den Tisch vor Verwenden Sie vor dem Start DDL-Anweisungen in den Datenbanken der drei Maschinen, um die Tabellenstruktur zu definieren, und halten Sie die Tabellenstruktur konsistent, um die Konsistenz vor der Master-Slave-Replikation sicherzustellen, da sonst ein Fehler auftritt! 5.4. Slave starten und Slave-Status prüfenSlave für Kanal „Master1“ starten; Slave für Kanal „Master2“ starten; Slave-Status anzeigen\G; Beachten Sie, dass sowohl Slave_IO_Running als auch Slave_Slave_Running „Ja“ anzeigen müssen, um Erfolg anzuzeigen. Andernfalls beachten Sie die Fehlermeldung. Dies ist das Ende dieses Artikels über die Konfiguration mehrerer Master und eines Slaves in MySQL 8.0.18. Weitere Informationen zu mehreren MySQL-Mastern und einem Slave finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Zur grundlegenden Verwendung von HTML gehören Links, Stylesheets, Span und Div usw.
>>: CSS-Overflow-Wrap – Verwendung neuer Eigenschaftswerte überall
Allgemeine Formulareingabeaufforderungen belegen ...
Umsetzungsideen Erstellen Sie zunächst einen über...
Inhaltsverzeichnis 1. Was ist copy_{to,from}_user...
Inhaltsverzeichnis Vorwort InnoDB-Speicherarchite...
Heute habe ich eine Frage zur Konfiguration einer...
Inhaltsverzeichnis Vorwort Ergebnisse erzielen Co...
Effektbild: 1. Dateien importieren <script src...
In einem Projekt müssen Sie häufig Umgebungsvaria...
Inhaltsverzeichnis 1. Behandeln Sie Objekte nicht...
Wenn in Ihrer Organisation bereits eine Kennwortr...
Originaldaten und Zieldaten SQL-Anweisungen imple...
Die Semantik, der Schreibstil und die Best Practi...
MySQL erstellt Benutzer und autorisiert und wider...
Ich habe vor Kurzem meine persönliche Website neu...
Da der Einfluss des Unternehmens wächst und seine...