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

So lösen Sie das Problem ERROR 2003 (HY000) beim Starten von MySQL

1. Problembeschreibung Beim Starten von MySQL tri...

Vue + Spring Boot realisiert die Bestätigungscodefunktion

In diesem Artikelbeispiel wird der spezifische Co...

MySQL-Sortierprinzipien und Fallanalyse

Vorwort Das Sortieren ist eine grundlegende Funkt...

Detaillierte Erläuterung der kombinierten MySQL-Abfrage

Verwenden von UNION Die meisten SQL-Abfragen best...

Vue implementiert dreidimensionales Säulendiagramm basierend auf E-Charts

Das dreidimensionale Säulendiagramm besteht aus d...

Funktionsprinzip und Beispielanalyse des Linux-NFS-Mechanismus

Was ist NFS? Netzwerkdateisystem Eine Methode ode...

Ein Artikel, der Ihnen hilft, die Grundlagen von VUE zu verstehen

Inhaltsverzeichnis Was ist VUE Kern-Plugins in Vu...

Lösung zum automatischen Stoppen des MySQL-Dienstes

Dieser Artikel stellt hauptsächlich die Lösung fü...