Da alles MyISAM ist, müssen Sie Folgendes tun
SCHRITT 01) Konfigurieren Sie den Master als Replikationsmaster
Wenn Sie server-id
in /etc/my.cnf nicht definiert haben, fügen Sie eine hinzu
[mysqld]
server-id=1
und service mysql restart
SCHRITT 02) Überprüfen Sie die binäre Protokollierung am Master
Wenn die binäre Protokollierung auf dem Master aktiv ist, tun Sie dies
RESET MASTER;
um alle binären Protokolle zu zappen und neu zu starten.
Wenn die binäre Protokollierung nicht aktiv ist, führen Sie dies aus
- Fügen Sie
log-bin=mysql-bin
unter [mysqld]
in /etc/my.cnf hinzu
- Service MySQL Neustart
SCHRITT 03) Kopieren /var/lib/mysql
Sie können rsync so einstellen , dass eine byteweise Brute-Force-Kopie Ihrer MyISAM-Tabellen von /var/lib/mysql
einem Server /var/lib/mysql
auf einen anderen Server ausgeführt wird. Sie hätten bis zum letzten Rsync mehrere Rsyncs ausgeführt, was sehr schnell geht. Dann würden Sie MySQL vollständig herunterfahren und einen weiteren rsync ausführen. Starten Sie MySQL sowohl auf Master als auch auf Slave.
SCHRITT 04) Erstellen Sie einen Replikationsbenutzer auf dem Slave
GRANT REPLICATION CLIENT,REPLICATION SLAVE
ON *.* TO replicator@'PrivateIPofSlave' IDENTIFIED BY 'r3pl1cAt0r';
SCHRITT 05) Richten Sie die Replikation ein
Führen Sie diesen Befehl auf dem Slave aus
CHANGE MASTER TO
MASTER_HOST='PrivateIPofMaster',
MASTER_PORT=3306,
MASTER_USER='replicator',
MASTER_PASSWORD='r3pl1cAt0r',
MASTER_LOG_FILE='XXXX',
MASTER_LOG_POS=YYYY;
START SLAVE;
Was ist XXXX und JJJJ ???
XXXX
ist die letzte binäre Protokolldatei zum Zeitpunkt der endgültigen Ausführung von rsync. Auf dem Slave befindet sich eine Kopie dieser Datei in / var / lib / mysql. Führen Sie einfach ls -l /var/lib/mysql/mysql-bin.0*
den Slave aus und verwenden Sie das letzte Binärprotokoll.
YYYY
ist die Position der letzten binären Protokolldatei zum Zeitpunkt der endgültigen Ausführung von rsync. Interessanterweise ist die Position auch die Dateigröße des Binärprotokolls. Führen Sie einfach ls -l /var/lib/mysql/mysql-bin.0*
den Slave aus und nehmen Sie die Dateigröße des letzten Binärprotokolls als Position YYYY
.
SCHRITT 06) Überprüfen Sie die Replikation
Führen Sie dies aus
SHOW SLAVE STATUS\G
Wenn Slave_IO_Running
ist Yes
und Slave_SQL_Running
ist Yes
, Glückwunsch, Sie sind fertig !!!
Ich habe ähnliche Beiträge zur Verwendung von rsync wie folgt geschrieben: