Studiennotizen zur MySQL Master-Slave-Konfiguration

Studiennotizen zur MySQL Master-Slave-Konfiguration

● Ich hatte vor, einige Cloud-Daten zu kaufen, um für ein gewisses Maß an Sicherheit für mein neues Projekt zu sorgen. Nachdem ich eine Runde zwischen Alibaba Cloud und Tencent Cloud gesucht hatte, kam ich zu dem Schluss, dass sie zu teuer sind. Ist es nicht so, dass die Daten gesichert werden? Dann kann ich auch gleich selbst ein Backup erstellen.

● Ich habe zwei Raspberry Pis zu Hause, also kann ich MySQL einfach darauf sichern. Es gibt Tutorials online, also fange ich gleich an. Ich habe mehrere Artikel zu Segmentfault MySQL durchsucht und das darin Beschriebene befolgt, aber natürlich ohne Erfolg. Wäre es erfolgreich gewesen, hätte ich diesen Artikel nicht geschrieben. PS: Ihre Tutorials sind alle korrekt.

● Nun beginnen wir mit der Konfiguration der Master- und Slave-Server, genau wie in den Online-Tutorials, denn das ist es, was ich befolgt habe.

1. Mastereinstellungen (Master)

Ändern Sie die MySQL-Konfigurationsdatei, normalerweise in /etc/mysql/my.conf

server-id=1 // MySQL-ID-Kennung festlegenlog-bin=/var/lib/mysql/mysql-bin //log-bin-Protokolldatei, Master-Slave-Sicherung wird mithilfe dieses Protokolldatensatzes implementiert#binlog-do-db=mysql1 #Name der zu sichernden Datenbank. Wenn Sie mehrere Datenbanken sichern, setzen Sie diese Option einfach wiederholt#binlog-ignore-db=mysql2 #Name der Datenbank, die nicht gesichert werden muss. Wenn Sie mehrere Datenbanken sichern, setzen Sie diese Option einfach wiederholt#log-slave-updates=1 #Dieser Parameter muss hinzugefügt werden, wenn die Slave-Bibliothek auch die Master-Bibliothek anderer Slave-Bibliotheken ist, da sonst die aktualisierten Datensätze nicht in die Binärdatei in Binglog geschrieben werden#slave-skip-errors=1 #Fehler überspringen und Replikationsvorgang fortsetzen (optional)

Fügen Sie 2 Konten für die Synchronisierung im Haupt-MySQL hinzu

mysql>gewähre Replikations-Slave auf *.* an 'sync-1'@'%', identifiziert durch '123456';

mysql>gewähre Replikations-Slave auf *.* an 'sync-2'@'%', identifiziert durch '123456';

Starten Sie msql neu

mysql>show master status; //Sie können den Status des Master-MySQL anzeigen

2. Slave-Einstellungen

Ändern Sie die MySQL-Konfigurationsdatei my.conf. Die Konfigurationsmethoden der beiden Slave-Knoten sind identisch.

Server-ID = 2
#log-bin=/var/lib/mysql/mysql-bi //Keine Notwendigkeit, eine Protokolldatei von MySQL einzurichten

Befehlsparameter in MySQL hinzufügen, master_log_file und master_log_pos können in Master-MySQL mit Show Master Status abgefragt werden

mysql>ändere Master in master_host='192.168.145.222',master_user='sync-1',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=308; 

mysql>start slave //Startmysql>show slave status\G //Status abfragen, wenn sowohl Slave_IO_Running als auch Slave_IO_Running ja sind, bedeutet dies Erfolg

3. Probleme bei der Einrichtung

Letzte_Fehlernummer: 1146

Als ich den Slave einrichtete, hatte mein Master-MySQL bereits eine Tabelle. Als die Tabelle erstellt wurde, gab es keinen Datensatz im Binärprotokoll binlog, sodass der Slave-MySQL keine Daten schreiben konnte. Zu diesem Zeitpunkt musste ich die Datenbankdatei manuell in den Slave-MySQL importieren. Der Grund dafür war, dass in den Online-Tutorials alle neu installierten Master-MySQL und Slave-MySQL gezeigt wurden, sodass es kein Problem mit vorhandenen Daten gab.

Letzte_Fehlernummer: 1062

Fehler „Doppelter Eintrag „xxxxx“ für Schlüssel „PRIMARY“ bei Abfrage

Primärschlüsselkonflikt. Dieses Problem ist komplizierter. Es muss daran liegen, dass die Tabelleneinstellungen falsch sind. Später habe ich auf Stack Overflow eine Lösung für dieses Problem gefunden.

# auf Slave
mysql> Slave stoppen;
mysql> Berechtigungen leeren;
# auf Master-Rest-Master
mysql> Master zurücksetzen;
# auf Sklave;
mysql> Slave zurücksetzen;
mysql> Slave starten;

Dies ist das Ende dieses Artikels über die Studiennotizen zur MySQL-Master-Slave-Konfiguration. Für detailliertere Informationen zur MySQL-Master-Slave-Konfiguration suchen Sie bitte nach früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Zeichnen Sie den gesamten Prozess der MySQL-Master-Slave-Konfiguration basierend auf Linux auf
  • MySQL5.7 Master-Slave-Konfigurationsbeispielanalyse
  • Details und Beispiele zur Docker MySQL Master-Slave-Konfiguration
  • Eine kurze Anmerkung zur MySQL Master-Slave-Konfigurationslösung
  • Gemeinsame Nutzung der Master-Slave-Konfigurationsmethode der MySQL-Datenbank
  • Mysql implementiert Master-Slave-Konfiguration und Multi-Master-Multi-Slave-Konfiguration

<<:  Detaillierte Erläuterung des Quellcodes der vue.$set()-Methode von Vue

>>:  JavaScript implementiert das Ändern der Farbe einer Webseite über einen Schieberegler

Artikel empfehlen

Zabbix überwacht den Prozess der Linux-Systemdienste

Zabbix erkennt automatisch Regeln zur Überwachung...

Eine kurze Diskussion über die Lebenszyklusfunktionen von React Component

Was sind die Lebenszyklusfunktionen von React-Kom...

Erste Schritte mit MySQL Sharding

Vorwort Relationale Datenbanken werden eher zu Sy...

So installieren Sie Git unter Linux

1. Einleitung Git ist ein kostenloses, verteiltes...

Beispiele für die Verwendung von HTML-Marquee-Tags

Dieses Tag ist nicht Teil von HTML3.2 und unterstü...

Einige Parameterbeschreibungen von Texteingabefeldern im Webdesign

In Gästebüchern, Foren und anderen Orten werden i...

Eine kurze Diskussion über die MySQL-Optimierungslösung für große Tabellen

Hintergrund Die Menge neuer Daten in der Geschäft...

...

Warum ist der MySQL-Autoinkrement-Primärschlüssel nicht kontinuierlich?

Inhaltsverzeichnis 1. Einleitung 2. Beschreibung ...

Implementierungsmethode für HTML-Neun-Raster-Layouts

Die Diversifizierung von Website-Layouts ist unse...

MySQL-Lernaufzeichnung: Blutiger Vorfall durch KEY-Partition verursacht

Nachfragehintergrund Ein Teil der Daten in der Ge...

Beispiel zum Aktivieren langsamer Abfragen in MySQL

Vorwort Das langsame Abfrageprotokoll ist eine se...

JavaScript zum Implementieren einer zufälligen Namensaufruf-Webseite

JavaScript schreibt eine zufällige Roll-Call-Webs...

mysql 8.0.19 winx64.zip Installations-Tutorial

Dieser Artikel zeichnet das Installationstutorial...

So verwenden Sie Vuex in einem Vue-Projekt

Inhaltsverzeichnis Was ist Vuex? Vuex-Nutzungszyk...