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

So implementieren Sie das Singleton-Muster in Javascript

Inhaltsverzeichnis Überblick Code-Implementierung...

Vue-Implementierungsbeispiel mit Google Recaptcha-Verifizierung

In unserem aktuellen Projekt müssen wir die Googl...

CSS-Leistungsoptimierung - detaillierte Erklärung der Will-Change-Verwendung

will-change teilt dem Browser mit, welche Änderun...

Lösen Sie das Problem der Installation von Theano auf Ubuntu 19

Lösung: Ändern Sie die Datei setup.py direkt in d...

Fallanalyse mehrerer MySQL-Aktualisierungsvorgänge

Inhaltsverzeichnis Fallstudie Kontostand aktualis...

HTML-Lernhinweise – Detaillierte Erklärung der HTML-Syntax (unbedingt lesen)

1. Was ist die HTML-Auszeichnungssprache? HTML is...

Eine einfache Methode zum regelmäßigen Löschen abgelaufener Datensätze in MySQL

1. Überprüfen Sie nach der Verbindung und Anmeldu...

Chinesische Lösung und Beispielcode für die MySQL-Volltextsuche

MySQL-Volltextsuche, chinesische Lösung Kürzlich ...

HTML-Bild img-Tag_Powernode Java Academy

Zusammenfassung Projektbeschreibungsformat < i...

Vue2.x-Reaktionsfähigkeit – einfache Erklärung und Beispiele

1. Überprüfen Sie die Vue-Responsive-Nutzung​ Die...

Mit HTML+CSS3 implementierte Anmeldeschnittstelle

Ergebnisse erzielen Bauen Sie zunächst mit HTML e...

Zusammenfassung zum Ändern des Root-Passworts in MySQL 5.7 und MySQL 8.0

MySQL 5.7-Version: Methode 1: Verwenden Sie den B...

Zusammenfassung der vier Möglichkeiten zum Durchlaufen eines Arrays in JS

Dieser Artikel vergleicht und fasst vier Möglichk...