Tutorial zur MySQL-Datensicherungsmethode mit Multi-Master und One-Slave

Tutorial zur MySQL-Datensicherungsmethode mit Multi-Master und One-Slave

Überblick

Vorgänge, die auf einer Datenbank ausgeführt werden, werden automatisch auf die andere Datenbank angewendet, sodass die Daten in beiden Datenbanken stets konsistent bleiben.

Dies hat folgende Vorteile:

  • Es kann zur Notfallwiederherstellung verwendet werden, und wenn einer von beiden ausfällt, können Sie auf einen anderen wechseln.
  • Es ist ein Lastenausgleich möglich und die Anfragen können auf beliebige Maschinen verteilt werden, um den Website-Durchsatz zu verbessern. Für externe Hot-Backups ist es besonders für die Notfallwiederherstellung geeignet.

MySQL Master-Slave-Replikationsmethode

1 Wenn die Master-Datenbank eine beliebige Datenbank betreibt, wird der Betriebsdatensatz in die Biglog-Protokolldatei geschrieben

2 Die Slave-Datenbank erhält die Protokolldatei der Master-Datenbank über das Netzwerk, schreibt sie in das lokale Protokollsystem und vervollständigt dann die Datenbankereignisse in der Datenbank nacheinander

3. Der Slave wiederholt die Ereignisse im Relay-Protokoll und spiegelt die Änderungen am Master in seiner eigenen Datenbank wider, sodass die Daten an beiden Enden exakt gleich sind.

Umfeld

Betriebssystem: CentOS

MySQL-Version: mysql-5.6.26 (die Datenbankversionen von Master und Slave müssen konsistent sein)

Master1-Konfiguration

1 Binlog-Protokollierung aktivieren

vim /etc/meine.cnf

Server-ID = 6
log-bin=mysql-bin

2 MySQL neu starten, anmelden und autorisieren

mysql -uroot -p123456

gewähre Replikations-Slave, Replikationsclient auf *.* an „repl“@„10.211.55.7“, identifiziert durch „123456“;

Die IP-Adresse ist die IP-Adresse des Slave-Servers

3 Protokollstatus anzeigen

Masterstatus anzeigen;

Master2-Konfiguration

1 Binlog-Protokollierung aktivieren

vim /etc/meine.cnf

Server-ID = 8
log-bin=mysql-bin

2 MySQL neu starten, anmelden und autorisieren

mysql -uroot -p123456

gewähre Replikations-Slave, Replikationsclient auf *.* an „repl“@„10.211.55.7“, identifiziert durch „123456“;

Die IP-Adresse ist die IP-Adresse des Slave-Servers

3 Protokollstatus anzeigen

Masterstatus anzeigen;

Slave-Konfiguration

1 Ändern Sie die Konfigurationsdatei (beachten Sie, dass der Port, an dem die Standarddatenbank des Slaves gestartet wird, geschlossen sein muss: service mysql stop)

vim /etc/meine.cnf

[mysqld]
 binlog-ignore-db=mysql
 binlog_format=gemischt
 Ablaufdatum der Protokolle: 7
 Slave_Überspringen_Fehler=1062
 relay_log=mysql-relay-bin
 log_slave_updates=1

[mysqld_muliti]
 mysqld=/usr/bin/mysqld_safe
 mysqladmin=/usr/bin/mysqladmin
 Benutzer=root
 Passwort=123456
[mysqld6]
 Port = 3306
 datadir=/home/mysql/data6
 pid-Datei=/home/mysql/data6/mysql.pid
 socket=/home/mysql/data6/mysql.sock
 Benutzer=mysql
 Server-ID = 7
[mysqld8]
 Port = 3307
 Datenverzeichnis=/home/mysql/data8
 pid-Datei=/home/mysql/data8/mysql.pid
 socket=/home/mysql/data8/mysql.sock
 Benutzer=mysql
 Server-ID = 7

2 Initialisieren Sie das Build-Verzeichnis

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data6 &
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data8 &

3 Verzeichnisberechtigungen ändern

chown -R mysql /home/mysql/data6

chown -R mysql /home/mysql/data8

4 Starten Sie den Dienst

mysqld_multi --defaults-file=/etc/my.cnf start 6

mysqld_multi --defaults-file=/etc/my.cnf start 8

5 Login-Test (und gesondert autorisieren)

mysql -P 3306 -S /home/mysql/data6/mysql.sock

mysql> ändere Master in master_host='10.211.55.6', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> Slave starten;

mysql -P 3307 -S /home/mysql/data8/mysql.sock

mysql> ändere Master in master_host='10.211.55.8', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> Slave starten;

ok, das ist es.

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. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Implementierungsideen und Schritte für die MySQL-Master-Slave-Konstruktion (mehrere Master und ein Slave)
  • Centos7 Mysql 5.6 Multi-Master- und One-Slave-Lösung und detaillierte Konfiguration
  • MySQL8.0.18-Konfiguration mehrerer Master und eines Slaves

<<:  Wie der Linux-Kernel in den Prozessadressraum eindringt und den Prozessspeicher ändert

>>:  Detaillierte Erklärung der berechneten Eigenschaften, der Überwachungseigenschaften und des Lebenszyklus in Vue.js

Artikel empfehlen

Die wichtigsten Unterschiede zwischen MySQL 4.1/5.0/5.1/5.5/5.6

Einige Befehlsunterschiede zwischen den Versionen...

So starten Sie ein Vue.js-Projekt

Inhaltsverzeichnis 1. Node.js und Vue 2. Führen S...

10 Tipps zum Entwerfen nützlicher, benutzerfreundlicher Webanwendungen

Hier sind 10 Tipps zum Entwerfen benutzerfreundli...

Tutorial zur Verwendung von Hyperlink-Tags in XHTML

Hyperlink, auch „Link“ genannt. Man kann sagen, d...

9 superpraktische CSS-Tipps, die Designern und Entwicklern helfen

Im Kopf eines Webdesigners muss viel Wissen im Zus...

11 Beispiele für die erweiterte Verwendung von Eingabeelementen in Webformularen

1. Löschen Sie das gepunktete Feld, wenn die Scha...

MySQL-Lösung für zeitgesteuerte Backups (mithilfe von Linux crontab)

Vorwort Obwohl manche Liebe auf dieser Welt ihren...

Detaillierte Erläuterung der Vue-Formularbindung und -Komponenten

Inhaltsverzeichnis 1. Was ist bidirektionale Date...

JS implementiert Anforderungsdispatcher

Inhaltsverzeichnis Abstraktion und Wiederverwendu...