Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung der Methode zum Einrichten einer Master-Slave-Datenbank in MySQL

Detaillierte Erläuterung der Methode zum Einrichten einer Master-Slave-Datenbank in MySQL

黄舟
黄舟Original
2017-09-14 11:21:162205Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Erstellen der MySQL-Master-Slave-Datenbank vorgestellt. Er analysiert die Prinzipien, Schritte und spezifischen Betriebstechniken zum Erstellen der MySQL-Master-Slave-Datenbank im Detail >

In diesem Artikel werden die Beispiele erläutert. Erfahren Sie, wie Sie eine MySQL-Master-Slave-Datenbank erstellen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Der Master-Slave-Server ist eine sehr gute Lösung für die Sicherung von MySQL-Echtzeitdaten. Jetzt werden ihn alle großen, mittleren und kleinen Netzwerke verwenden MySQL-Datenbank-Master-Slave-Server-Funktion zur asynchronen Sicherung der Website-Datenbank Lassen Sie uns Ihnen die Schritte zur Master-Slave-Server-Konfiguration vorstellen.

Für die MySQL-Master-Slave-Replikation sind mindestens zwei MySQL-Dienste erforderlich. Natürlich können MySQL-Dienste auf verschiedenen Servern verteilt sein, oder es können mehrere Dienste auf einem Server gestartet werden.

(1) Stellen Sie zunächst sicher, dass die MySQL-Versionen auf dem Master- und dem Slave-Server identisch sind

(2) Richten Sie auf dem Master-Server ein Konto für die Slave-Datenbank ein und verwenden Sie

um Berechtigungen zu erteilen, wie zum Beispiel: REPLICATION SLAVE


mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'192.168.0.99' IDENTIFIED BY
'123456';
Query OK, 0 rows affected (0.13 sec)
(3) Ändern Sie die Konfigurationsdatei my.cnf der Hauptdatenbank, öffnen Sie BINLOG und legen Sie den Wert von fest Server-ID. Nach der Änderung muss der MySQL-Dienst neu gestartet werden


[mysqld]
log-bin = /home/mysql/log/mysql-bin.log
server-id=1
Nach (4) können Sie den aktuellen Binärprotokollnamen und den Offset des Hauptservers abrufen . Der Zweck dieses Vorgangs besteht darin, die Datenverarbeitung ab diesem Punkt nach dem Start aus der Datenbank zu starten


mysql> show master statusG;
*************************** 1. row ***************************
File: mysql-bin.000003
Position: 243
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
(5) Nun können wir die Aktualisierung stoppen Betrieb der Master-Daten und Erstellen einer Sicherung der Master-Datenbank. Wir können die Daten über die mysqldump-Datenbank in die Slave-Datenbank exportieren. Natürlich können Sie die Datendatei auch direkt mit dem Befehl cp in die Slave-Datenbank kopieren

Stellen Sie sicher, dass Sie die Master-Datenbank vor dem Exportieren der Daten mit einer Lesesperre versehen, um die Datenkonsistenz sicherzustellen.


mysql> flush tables with read lock;
Query OK, 0 rows affected (0.19 sec)
gefolgt von mysqldump


mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql
Es ist am besten, den Schreibvorgang wiederherzustellen, nachdem die Sicherung der Hauptdatenbank abgeschlossen ist


mysql> unlock tables;
Query OK, 0 rows affected (0.28 sec)
(6) Kopieren Sie die test.sql von Sichern Sie die Stammdaten gerade in der Slave-Datenbank und importieren Sie sie

(7) Ändern Sie dann die my.cnf der Slave-Datenbank, fügen Sie den Server-ID-Parameter hinzu, geben Sie den für die Replikation verwendeten Benutzer, die IP und den Port an des Hauptdatenbankservers sowie die Datei und den Speicherort zum Starten des Replikationsprotokolls


[mysqld]
server-id=2
log_bin = /var/log/mysql/mysql-bin.log
master-host =192.168.1.100
master-user=test
master-pass=123456
master-port =3306
master-connect-retry=60
replicate-do-db =test
(8) in Starten Sie vom Server aus den Slave-Prozess


mysql> start slave;
(9)

Überprüfung auf dem Slave-Server durchführenshow salve status


mysql> SHOW SLAVE STATUSG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: localhost
Master_User: root
Master_Port: 3306
Connect_Retry: 3
Master_Log_File: mysql-bin.003
Read_Master_Log_Pos: 79
Relay_Log_File: gbichot-relay-bin.003
Relay_Log_Pos: 548
Relay_Master_Log_File: mysql-bin .003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
(10) Ok, jetzt Wir können einige Aktualisierungsvorgänge auf unserem Hauptserver durchführen und dann prüfen, ob er auf dem Slave-Server aktualisiert wurde

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Methode zum Einrichten einer Master-Slave-Datenbank in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn