Heim > Datenbank > MySQL-Tutorial > Hauptteil

So richten Sie die MySQL-Master-Slave-Replikation ein

不言
Freigeben: 2019-03-04 16:52:33
Original
2276 Leute haben es durchsucht

Dieser Artikel führt Sie in die Einrichtung der Master-Slave-Replikation zwischen MySQL-Servern ein. Werfen wir einen Blick auf den spezifischen Inhalt.

So richten Sie die MySQL-Master-Slave-Replikation ein

Einrichtungsdetails:

Master-Server: 192.168.1.10

Slave-Server: 192.168.1.20

Datenbank: mydb

1. Richten Sie den MySQL-Hauptserver ein

Erstellen Sie einen Server mit aktivierten REPLICATION SLAVE-Berechtigungen Über das MySQL-Konto des Hauptservers stellt der Replikationsclient eine Verbindung zum Master her.

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'192.168.1.20' IDENTIFIED BY 'secretpassword';
mysql> FLUSH PRIVILEGES;
Nach dem Login kopieren

Verfügen Sie über Blockschreibanweisungen für alle Tabellen, nehmen Sie also nach der Sicherung keine Änderungen vor.

mysql> use mydb;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> exit;
Nach dem Login kopieren

Bearbeiten Sie die MySQL-Konfigurationsdatei und fügen Sie den folgenden Code im Abschnitt [mysqld] hinzu.

# vim /etc/my.cnf
Nach dem Login kopieren
Nach dem Login kopieren
rrree

Starten Sie den Master-MySQL-Server neu, damit die Änderungen wirksam werden.

[mysqld]
log-bin=mysql-bin
binlog-do-db=mydb
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
Nach dem Login kopieren

Verwenden Sie die folgenden Befehle, um den aktuellen Binärprotokolldateinamen (Datei) und den aktuellen Offset-Wert (Position) zu überprüfen.

# service mysqld restart
Nach dem Login kopieren

Die obige Ausgabe zeigt, dass die aktuelle Binärdatei mysql-bin.000002 mit einem Offset von 107 verwendet. Beachten Sie diese Werte für die Verwendung auf dem Slave-Server.

Sichern Sie die Datenbank und kopieren Sie sie auf den Slave-MySQL-Server.

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      107 | mydb         |                  |
+------------------+----------+--------------+------------------+
Nach dem Login kopieren

Sobald die Sicherung abgeschlossen ist, entfernen Sie die Lesesperre aus der Tabelle, damit Änderungen vorgenommen werden können.

# mysqldump -u root -p mydb > mydb.sql
# scp mydb.sql 192.168.1.20:/opt/
Nach dem Login kopieren

2. MySQL-Slave-Server einrichten

Bearbeiten Sie die Salve-MySQL-Konfigurationsdatei und fügen Sie die folgenden Werte im Abschnitt [mysqld] hinzu.

mysql> UNLOCK TABLES;
Nach dem Login kopieren
rrree

server-id ist immer ein Wert ungleich Null. Diese Werte werden niemals denen anderer Master und Slaves ähneln.

Starten Sie den MySQL-Slave-Server neu. Wenn Sie die Replikation konfiguriert haben, verwenden Sie beim Start bitte -skip-slave-start und stellen Sie nicht sofort eine Verbindung zum Master-Server her.

# vim /etc/my.cnf
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie den folgenden Befehl, um den Optionswert auf dem Slave-Server festzulegen.

[mysqld]
server-id=2
replicate-do-db=mydb
Nach dem Login kopieren

Starten Sie abschließend den Slave-Thread

# /etc/init.d/mysqld restart
Nach dem Login kopieren

, um den Status des Slave-Servers zu überprüfen.

mysql>  CHANGE MASTER TO MASTER_HOST='192.168.1.10',
    -> MASTER_USER='repl_user',
    -> MASTER_PASSWORD='secretpassword',
    -> MASTER_LOG_FILE='mysql-bin.000002',
    -> MASTER_LOG_POS=107;
Nach dem Login kopieren
rrree

MySQL-Master-Slave-Replikation wurde erfolgreich auf Ihrem System und Arbeitsmodus konfiguriert.

Das obige ist der detaillierte Inhalt vonSo richten Sie die MySQL-Master-Slave-Replikation ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage