2009-06-29 11 views
1

Ich habe eine 2 Datenbanken auf dem anderen Server gehostet. Was ist das Beste, um den gesamten Inhalt der Master-Tabellen-Datenbank in die Tabelle der Slave-Datenbank zu kopieren? Ich bin nicht der Besitzer der Master-Datenbank, aber sie sind bereit, einen Zugriff zu gewähren. Bevor die Daten aus der Master-Datenbank über RSS ausgegeben werden und mein PHP-Skript es in einen anderen Server einsortiert, wo sich eine andere Datenbank befindet, dauert es 24 Stunden, um die Daten zu aktualisieren und in die entfernte Datenbank einzufügen von 2 Datenbanken Overhead. Also, was wir planen, ist ein Skript erstellen, die Daten aus der Master-Datenbank herunterladen und speichern Sie eine lokale Kopie und dann FTP auf den zweiten Server und den Inhalt in der Datenbank ablegen. Ist das ratsam, obwohl die Größe der Datei entweder CSV oder SQL um 30 MB ist und immer noch wächst? Was ist die beste Lösung dafür?Synchronisation mit Master-Datenbank

HINWEIS: Alle Skripte vom Herunterladen, FTP, zum Einfügen in die 2. Datenbank werden von Cron für automatische Updates behandelt.

Antwort

0

Um welche Art von Datenbank handelt es sich? Haben Sie sich die Replikation angesehen?

+0

Beide MySQL-Datenbank. Noch nicht, und ich suche immer noch nach einer Alternative, aber wenn Replikation die beste Lösung ist, werde ich darauf eingehen. – text

3

Sie wirklich sollte MySQL Master-Slave-Replikation berücksichtigen. Dies bedeutet, dass jedes Insert/Update auch auf dem Slave-Server ausgeführt wird. Der Master-Server muss so konfiguriert werden, dass er ein (binäres) Transaktionslog speichert, mit dem der Slave die Aktualisierungen verfolgt.

Neben der einfachen Handhabung hält die Replikation die Last niedrig, da es sich um einen kontinuierlichen Prozess handelt.

+0

Also nichts über die Speicherzuweisung, Verarbeitungszeit usw., die sich auf den Slave-Server auswirken? – text

+0

Der Slave-Server hat nur das zusätzliche "Laden" der vom Master initiierten Updates (Einfügen, Löschen, Tabellen löschen, Reindex usw.). Es ist besser als Dump/Wiederherstellen alle x Stunden. – Willem