Dieser Artikel führt Sie in die Einrichtung der Master-Slave-Replikation zwischen MySQL-Servern ein. Werfen wir einen Blick auf den spezifischen Inhalt.
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
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;
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;
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!