Heim >Datenbank >MySQL-Tutorial >So richten Sie die MySQL-Master-Slave-Replikation ein

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

不言
不言Original
2019-03-04 16:52:332321Durchsuche

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;

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;

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

# vim /etc/my.cnf
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

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

# service mysqld restart

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         |                  |
+------------------+----------+--------------+------------------+

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/

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;
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

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

[mysqld]
server-id=2
replicate-do-db=mydb

Starten Sie abschließend den Slave-Thread

# /etc/init.d/mysqld restart

, 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;
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!

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