Vorwort Bei der Arbeit an einem Hochverfügbarkeitsprojekt ist heutzutage eine Datensynchronisierung erforderlich. Da nur zwei Knoten vorhanden sind und bei der Master-Master-Synchronisierung die Gefahr einer zirkulären Synchronisierung besteht, ziehen wir die Verwendung der MySQL-Master-Slave-Synchronisierung in Erwägung. Wenn Sie noch nie mit MySQL-Datensynchronisierung zu tun hatten, denken Sie vielleicht, dass die Datensynchronisierung schwierig ist. Wenn Sie jedoch die folgenden Schritte ausführen, werden Sie feststellen, dass die Synchronisierung ganz einfach ist. Schließlich müssen wir nur wissen, wie wir Probleme konfigurieren und beheben, und die zugrunde liegende spezifische Implementierung des MySQL-Teams hat bereits dazu beigetragen, dies zu erreichen. Kommen wir ohne weitere Umschweife direkt zur Sache: (1) Stellen Sie zunächst sicher, dass zwei Geräte vorhanden sind (Master und Slave) und installieren Sie die MySQL-Datenbank auf jedem Gerät. Nachdem die Installation abgeschlossen ist, Verwenden Sie mysql -u [Datenbankbenutzername] -p [Benutzerkennwort]. Wenn Sie sich bei MySQL anmelden können, war die Installation erfolgreich. (2) Bearbeiten Sie die MySQL-Konfigurationsdatei. Der Pfad lautet im Allgemeinen /etc/mysql/mysql.conf.d/mysqld.cnf (das vom Benutzer bei der Installation von MySQL angegebene Verzeichnis). Wie: /etc/my.conf usw.). Fügen Sie nach Bedarf den folgenden Inhalt unter dem Modul [mysqld] im Master- und Slave-MySQL hinzu: [mysqld] Standard-Speicher-Engine = InnoDB innodb_file_per_table=1 Kollationsserver = uft8_general_ci init-connect='Namen festlegen uft8' Bindeadresse = 0.0.0.0 log_bin=mysql-bin relay_log=mysql-relay-bin Ablauf_Protokolltage=100 überspringen-Slave-Start = 1 binlog_do_db=[Name der zu synchronisierenden Datenbank] binlog-ignore-db=mysql,sys,informationsschema,leistungsschema Server-ID=[1 für Master, 2 für Slave] automatische Inkrementierung-Inkrement = 2 automatischer Inkrement-Offset = 1 Open_files_limit=65535 mac_connections=1000 Slave-Überspringfehler = alle (3) Stellen Sie über die Shell eine Verbindung zum Master- und Slave-Server her: mysql -u [Datenbankbenutzername] -p [Benutzerkennwort], melden Sie sich jeweils beim Master- und Slave-Knoten mysql an, erstellen Sie einen Synchronisierungsbenutzer repl und führen Sie den folgenden Befehl aus: Gewähren Sie alle Berechtigungen für *.* an „repl“@„%“, identifiziert durch „repl“, mit der Gewährungsoption. Beenden Sie dann die MySQL-Operationsseite und starten Sie den MySQL-Dienst neu. Der Befehl lautet wie folgt: systemctl startet mysql.service neu Rufen Sie dann den Hauptknoten Mysql auf und zeigen Sie die Spalten „Datei“ und „Position“ von Mysql an. Führen Sie den Befehl aus: (4) Melden Sie sich beim Slave-Server an, geben Sie MySQL mit mysql -u [Datenbankbenutzername] -p [Benutzerkennwort] ein und führen Sie Folgendes aus: Sklave stoppen; Slave zurücksetzen; ändern Sie „master“ in „master_host='[Masterknoten-IP]', „master_user='repl', „master_password='repl', „master_log_file='[mysql-bin.000001, siehe Spalte „Datei“ in (3)]', „master_log_pos=[245, siehe Spalte „Position“ in (3)]; Ausfahrt; Führen Sie (5) Starten Sie die Slave-Bibliothek des Slave-Servers, geben Sie mysql -u [Datenbankbenutzername] -p [Benutzerkennwort] ein, um den Slave-Knoten Mysql aufzurufen, und führen Sie den folgenden Befehl aus: Slave starten; Ausführen: Als Nächstes können Sie versuchen, ein Datenelement in die Hauptdatenbank einzufügen, um zu sehen, ob die Daten automatisch zur Slave-Datenbank hinzugefügt werden können. Ist das nicht ein bisschen aufregend? Lass es uns jetzt testen. PS: Was ist, wenn ein Synchronisierungsproblem besteht? (1) Überprüfen Sie, ob die Attribute Master_Log_File und Read_Master_Log_Pos in der obigen Abbildung mit den Abfrageergebnissen des Masterknotens übereinstimmen. (2) Bei der Verbindung von der Datenbank zur Hauptdatenbank ist möglicherweise eine Zeitüberschreitung aufgetreten. Erhöhen Sie die Verbindungsverzögerung. (3) Wenn das oben genannte Problem nicht gelöst werden kann, überprüfen Sie bitte das MySQL-Protokoll, um die Ursache zu finden. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: jQuery kombiniert mit CSS, um die Funktion „Zurück zum Anfang“ zu erreichen
Inhaltsverzeichnis 1. Open-Source-Lagerverwaltung...
Ich bin bei der Arbeit auf einen Fall gestoßen, ü...
Inhaltsverzeichnis Was ist Rekursion und wie funk...
Inhaltsverzeichnis Vorwort 1. Der Effekt ist wie ...
Wenn für MySQL 5.5 der Zeichensatz nicht festgele...
Das Shell-Skript richtet die Zugriffskontrolle ei...
Was ist ELK? ELK ist ein vollständiger Satz von L...
Hintergrund Die Popularität von Docker hängt eng ...
Bei unserer täglichen Arbeit führen wir manchmal ...
Kürzlich stellte mir ein Freund eine Frage: Beim ...
Problembeschreibung Nach der Installation des Plu...
Es gibt viele Tags in XHTML, aber nur wenige werd...
Vorwort Wie wir alle wissen, unterstützt das auf ...
Dieser Artikel richtet sich hauptsächlich an diej...
Inhaltsverzeichnis Problembeschreibung Lösung Pro...