Datenbank über php Seite kopieren

  • Hallo,

    ich möchte folgendes umsetzen und würde mich über hilfreiche Hinweise sehr freuen.

    Ich erstelle eine php Seite auf der ein "Synchronisieren" Button vorhanden sein soll. Wenn man diesen Button klickt, soll folgendes automatisch erfolgen.

    1. Zugriff auf eine MySQL Datenbank A
    2. Exportieren aller Daten des dort vorhandenen Schemas X
    3. Importieren des Schemas X in die lokal vorhandene MySQL Datenbank B und wenn diese bereits vorhanden, sollen die Daten überschrieben werden.

    Dies möchte ich machen, da der Zugriff auf die lokale DB schneller ist und nicht die Gefahr der Manipulation der Originaldaten besteht.

    Wie könnte ich dies am besten umsetzen?

  • Das hängt davon ab, welche Rechte du deinen Nutzern in deiner Datenbank geben willst.
    Haben sie (gefährlicherweise) die Rechte, um Tabellen(-Strukturen) zu ändern (Strukturen, weil du ja von Schemata sprichst), und auch entsprechende Rechte, um aus Datenbank A komplette Kopien zu ziehen, kannst du einfach von A ne Kopie ziehen, B löschen und mit der Kopie von A ersetzen.

    Umständlicher, aber sicherer, gehts mit ner wundervollen, langen, verschalteten while-Schleife. Jeweils zum auslesen von A, reinkopieren in B, mit ensprechenden if's dazu :)

    Gut wärs, wenn du dein Vorhaben noch etwas genauer erläuterst.

    Gruß,
    Jojo


  • Noch genauer? Es wird nur ein Nutzer sein und der hat ALLE Rechte.
    Aktuell nehme ich den MySQL Administrator und mache damit ein Backup der Datenbank A und importiere dieses dann mit dem MySQL Administrator in die Datenbank B. Dies soll nun automatisch per Klick auf den Button geschehen.

  • Zitat von 00eraser00

    Noch genauer? Es wird nur ein Nutzer sein und der hat ALLE Rechte.
    Aktuell nehme ich den MySQL Administrator und mache damit ein Backup der Datenbank A und importiere dieses dann mit dem MySQL Administrator in die Datenbank B. Dies soll nun automatisch per Klick auf den Button geschehen.

    Sind das spezielle Tabellen oder alle Tabellen die exportiert/importiert werden sollen?

  • Ich möchte fast eine Wette machen, dass es schon fertige Scripte gibt, die soetwas können. Wenn du es selber machen willst:

    1. Connect zu beiden Datenbankservern
    2. Datenbanken auf beiden Servern auswählen
    3. Drop aller Tables auf Server B
    4. Liste aller Tabellen auf Server A ermitteln
    5. Create Table aller Tabellen auf Server A ermitteln und auf Server B anlegen
    6. Schleife über alle Tabellen auf Server A
    7. Tabellen auf Server A auslesen und auf Server B einfügen

    Ist nicht besonders schwer, nur der Zeitaufwand ist nicht so gering, denn man muss das ja erst mal mit Dummy-Datenbanken testen

  • Mann mann mann,...
    das war ja mal ein Spaß^^


    Müsste eigendlich funzen jetzt 8)
    Oben die ersten Zeilen müssen halt editiert werden. (Steht aber auch Comment)
    Der Button fehlt zwar, aber das wird ja wohl nicht das Problem sein^^
    Jaja kommt mir jetzt bloß nicht das gibt schon usw... Ich hatte grad mal Lust das zu coden und zum üben ist das wunderbar, besonders lernt man da mal paar neue SQL Statements usw.


    Gruß crAzywuLf :D