jenno
Erfahrenes Mitglied
Tach allerseits,
ich bin gerade dabei, mir zu überlegen, wie ich zwei Datenbanken regelmässig automatisch abgleichen lassen kann. Die Situation ist die, dass auf einem Server eine Applikation mit php und mysql läuft. Aus Sicherheitsgründen will ich nun, dass diese ganze Applikation regelmässig auf einem anderen Server aktualisiert wird, so dass man im Notfall einfach auf den anderen Server zugreifen kann.
Im Moment geht es mir aber erstmal nur um die Datenbank.
Ich habe mir bisher drei Möglichkeiten überlegt:
1. Ich lasse einmal pro Tag ein dump von meiner Datenbank erstellen, übertrage dies auf den anderen Server und erneuer dann die komplette Datenbank indem ich den dump einlese. Was mir an dieser Variante nicht gefällt ist, dass auf diesem Wege unnötig Daten hin und hergeschoben werden. Im Moment ist die komplette Datenbank ca. 18 MB gross und die meisten Änderungen lassen derzeit mindestens die Hälte der Datenbank unangetastet. Und im Moment kann ich auch noch nicht wirklich einschätzen, wie gross das Ganze noch werden kann.
2. Jedesmal, wenn auf der Datenbank ein UPDATE, INSERT oder DELETE ausgeführt wird, lasse ich diesen Befehl noch in eine Textdatei schreiben. All diese Befehle kann ich dann einmal täglich auf dem anderen Server ausführen lassen. Damit hätte ich das Problem von oben gelöst, weil mit dieser Variante werden wirklich nur die nötigen Änderungen ausgeführt. Nachteil hier ist (mit dem ich aber leben kann, und was natürlich bei späteren Projekten von vornherein berücksichtigt werden kann), dass ich nochmal durch das ganze Projekt laufen muss und bei allen Datenbank Aktionen noch die Funktion aufrufen muss, die den sql-String in eine Textdatei schreibt.
3. Seit ungefähr zwei Stunden weiss ich, dass es auch noch sowas wie "Replikation" gibt. Ich habe auch schon angefangen, mich durch die entsprechenenden Abschnitte vom Manual zu forsten. Aber bevor ich mich hier durchschlage, wollte ich jetzt Euch fragen, ob das sinnvoll ist.
Überhaupt, was denkt ihr dazu? Gibt es vielleicht noch andere Möglichkeiten? Was würdet ihr mir empfehlen?
Freue mich über alle Denkanstösse, Meinungen und Ideen von Euch.
ich bin gerade dabei, mir zu überlegen, wie ich zwei Datenbanken regelmässig automatisch abgleichen lassen kann. Die Situation ist die, dass auf einem Server eine Applikation mit php und mysql läuft. Aus Sicherheitsgründen will ich nun, dass diese ganze Applikation regelmässig auf einem anderen Server aktualisiert wird, so dass man im Notfall einfach auf den anderen Server zugreifen kann.
Im Moment geht es mir aber erstmal nur um die Datenbank.
Ich habe mir bisher drei Möglichkeiten überlegt:
1. Ich lasse einmal pro Tag ein dump von meiner Datenbank erstellen, übertrage dies auf den anderen Server und erneuer dann die komplette Datenbank indem ich den dump einlese. Was mir an dieser Variante nicht gefällt ist, dass auf diesem Wege unnötig Daten hin und hergeschoben werden. Im Moment ist die komplette Datenbank ca. 18 MB gross und die meisten Änderungen lassen derzeit mindestens die Hälte der Datenbank unangetastet. Und im Moment kann ich auch noch nicht wirklich einschätzen, wie gross das Ganze noch werden kann.
2. Jedesmal, wenn auf der Datenbank ein UPDATE, INSERT oder DELETE ausgeführt wird, lasse ich diesen Befehl noch in eine Textdatei schreiben. All diese Befehle kann ich dann einmal täglich auf dem anderen Server ausführen lassen. Damit hätte ich das Problem von oben gelöst, weil mit dieser Variante werden wirklich nur die nötigen Änderungen ausgeführt. Nachteil hier ist (mit dem ich aber leben kann, und was natürlich bei späteren Projekten von vornherein berücksichtigt werden kann), dass ich nochmal durch das ganze Projekt laufen muss und bei allen Datenbank Aktionen noch die Funktion aufrufen muss, die den sql-String in eine Textdatei schreibt.
3. Seit ungefähr zwei Stunden weiss ich, dass es auch noch sowas wie "Replikation" gibt. Ich habe auch schon angefangen, mich durch die entsprechenenden Abschnitte vom Manual zu forsten. Aber bevor ich mich hier durchschlage, wollte ich jetzt Euch fragen, ob das sinnvoll ist.
Überhaupt, was denkt ihr dazu? Gibt es vielleicht noch andere Möglichkeiten? Was würdet ihr mir empfehlen?
Freue mich über alle Denkanstösse, Meinungen und Ideen von Euch.