Bei der Entwicklung muss ich MySQL-Datenbanken synchronisieren. Auf beiden Systemen ist Apache 2.0.55 und PHP 4.4.0 installiert . .
1. Installieren und konfigurieren Sie
zwei Server. Installieren Sie MySQL separat und installieren Sie sie im Verzeichnis /usr/local/MySQL (die Installationsschritte entfallen, siehe die entsprechenden Dokumente). .0.2. Wir verwenden 192.168.0.1 als Master-Datenbank und 192.168.0.2 als Slave-Server. Das heißt, die Daten des Masters sind die Daten des Masters, und der Slave geht dann aktiv zum Master Synchronisieren Sie die Daten erneut.
Die Konfigurationen der beiden Server sind gleich. Kopieren wir die Standardkonfigurationsdateien im Verzeichnis /usr/local/MySQL/share/MySQL, darunter my-large.cnf, my-medium.cnf. my-small.cnf und andere Autoren, wir testen nur, verwenden Sie einfach my-medium.cnf. Nach der Installation von MySQL wird die Standardkonfigurationsdatei im Datenbankspeicherverzeichnis angegeben. Wir verwenden 4.1.X, daher sollte sich die Konfigurationsdatei im Verzeichnis /usr/local/MySQL/var befinden. Kopieren Sie die Konfigurationsdatei dorthin.
cp /usr/local/MySQL/share/MySQL/my-medium.cnf /usr/local/MySQL/var/my.cnf
Die beiden Server führen denselben Vorgang zum Kopieren der Konfigurationsdatei aus.
2. Konfigurieren Sie den Master-Server.
Wir müssen 192.168.0.1 als Haupt-MySQL-Server (Master) konfigurieren. Anschließend müssen wir überlegen, welche Datenbank wir synchronisieren müssen Der Root-Benutzer dient hier zur Synchronisierung, und nur die Datenbank abc muss synchronisiert werden.
Öffnen Sie die Konfigurationsdatei:
vi /usr/local/MySQL/var/my.cnf
Finden Sie diese Informationen:
# erforderliche eindeutige ID zwischen 1 und 2^32 - 1# ist standardmäßig 1, wenn Master-Host nicht festgelegt ist# funktioniert aber nicht als Master, wenn weggelassen wirdserver-id = 1 //1 ist Master, 2 ist Salve
Fügen Sie zwei Zeilen hinzu:
sql-bin-update-same //Synchronisationsform binlog-do-db = abc //Zu synchronisierende Datenbank
Starten Sie den MySQL-Server unter 192.168.0.1 neu:
/usr/local/MySQL/bin/MySQLadmin herunterfahren /usr/local/MySQL/bin/MySQLd_safe --user=MySQL &
3. Konfigurieren Sie den Slave-Server
hauptsächlich, um die Daten wieder mit dem Master-Server zu synchronisieren.
vi /usr/local/MySQL/var/my.cnf
Nachfolgend finden Sie ähnliche Informationen:
# Erforderliche eindeutige ID zwischen 1 und 2^32 - 1# Standardmäßig 1, wenn Master-Host nicht festgelegt ist# Funktioniert jedoch nicht als Master, wenn Server-ID = 1 weggelassen wird
Ändern Sie die Server-ID oben in 2 und fügen Sie einige Informationen hinzu:
server-id = 2 //Dieses MySQL ist ein Slave-Server master-host = 192.168.0.1 //Die IP des Master-Servers master-user = root //Der Benutzer, der sich mit dem Master-Server verbindet master-password = '' / /Das Passwort für die Verbindung zum Master-Server master -port = 3306 //Port verbinden master-connect-retry = 10 //Anzahl der Wiederholungsversuche Replicate-do-db = abc //Zu synchronisierende Datenbank log-slave-updates // Synchronisierungsformular
Starten Sie den MySQL-Server unter 192.168.0.2 neu:
/usr/local/MySQL/bin/MySQLadmin herunterfahren /usr/local/MySQL/bin/MySQLd_safe --user=MySQL &
4. Um die Installation zu testen,
überprüfen Sie zunächst das Hostprotokoll des Slaves:
cat /usr/local/MySQL/var/xxxxx_err (xxx ist der Hostname)
Überprüfen Sie, ob die Verbindung normal ist. Wenn Sie eine Meldung wie diese sehen, sind Sie erfolgreich.
051031 11:42:40 MySQLd gestartet051031 11:42:41 InnoDB: Gestartet; Protokollsequenznummer 0 43634/usr/local/MySQL/libexec/MySQLd: bereit für Verbindungen.Version: '4.1.15-log' Socket: '/ tmp/MySQL.sock‘ Port: 3306 Quellverteilung051031 11:42:41 [Hinweis] Slave-SQL-Thread initialisiert, Replikation im Protokoll „FIRST“ an Position 0 gestartet, Relay-Protokoll „./new4-relay-bin.000001“ Position: 4051031 11:43:21 [Hinweis] Slave-E/A-Thread: mit Master „[email protected]:3306“ verbunden, Replikation im Protokoll „FIRST“ an Position 4 gestartet
Informationen zum Master anzeigen
/usr/local/MySQL/bin/MySQL -u root
Masterstatus anzeigen:
MySQL> Master-Status anzeigen;
Überprüfen Sie die MySQL-Prozessinformationen unter Master:
MySQL> Prozessliste anzeigen;
Informationen zum Slave anzeigen:
/usr/local/MySQL/bin/MySQL -u root
Slave-Status anzeigen:
MySQL> Slave-Status anzeigen;
Überprüfen Sie die MySQL-Prozessinformationen unter Slave:
MySQL> Prozessliste anzeigen;
Anschließend können Sie in der ABC-Bibliothek des Masters eine Tabellenstruktur erstellen und Daten einfügen. Anschließend können Sie prüfen, ob der Slave die Daten synchronisiert hat und ob die Einstellung erfolgreich ist.
Wenn Sie interessiert sind, können Sie sich schließlich mit Doppelklick-Hot-Backup oder der Synchronisierungsimplementierung eines Masters und mehrerer Slaves befassen.