● 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:
|
<<: Detaillierte Erläuterung des Quellcodes der vue.$set()-Methode von Vue
>>: JavaScript implementiert das Ändern der Farbe einer Webseite über einen Schieberegler
In HTML müssen Sie die von der Webseite verwendet...
Im vorherigen Artikel wurde der Docker-Dienst ins...
【Historischer Hintergrund】 Ich arbeite seit drei ...
MySQL 5.7.9 Version sql_mode=only_full_group_by P...
Inhaltsverzeichnis 1. Einführung in den MySQL-Ind...
Im vorherigen Artikel https://www.jb51.net/articl...
Dieser Artikel stellt hauptsächlich vor, wie pagi...
Dies ist das erste Mal, dass ich das CentOS7-Syst...
Inhaltsverzeichnis DML-Anweisungen 1. Datensätze ...
Inhaltsverzeichnis 1. Szene laden 2. Knoten suche...
Standardmäßig generiert die MyISAM-Tabelle drei D...
Mysql ist eine gängige relationale Open-Source-Da...
1. MySQL installieren (1) Entpacken Sie die herun...
Inhaltsverzeichnis 1. Übersicht 2. Verwenden Sie ...
In diesem Artikel wird der spezifische Code von v...