[MySQL] Wie kopiere ich unkompliziert ganze Tabellen?

BeaTBoxX

Erfahrenes Mitglied
Hallo zusammen,

habe folgendes Szenario:

Eine Applikation von mir scannt per SNMP Netzelemente. Größenordnung : Ein einige zehntausend Datensaetze in 5-10 Tabellen.

Es gibt eine Datenbank, welche die vollstaendigen Daten halten und zurverfügung stellen soll. Daneben eine zweite temporäre DB, in welcher die Daten während des Scanvorgangs eingetragen werden.
Sobald der Scanvorgang abgeschlossen ist, soll die "live" DB gelöscht und die kompletten Temp-DB Inhalte dort eingefügt/kopiert werden.

Habt ihr einen Ansatz für mich, wie ich das am schnellsten und problemlosesten machen kann?

Geht das evtl innerhalb des MySQL Servers? Oder muss ich mit der Applikation die gesamte Temp DB auslesen und einzeln in die Live DB wieder einfügen?
Gibt es evtl eine elegantere Lösung?


Danke für Ansätze!


Gruß
Frank
 
Versuche es doch mal die Tabelle von der Temp DB direkt in der Live DB zu generieren.
Das hätte den Vorteil, dass du beim Laden der Daten folgendes machen kannst

Temp-Tabellen haben alle benötigten Daten.
Live-Tabelle löschen oder umbenennen irgendetwas mit Datum oder md5(Datum).
Temp-Tabelle so umbennen, dass sie so heissen wie die Live-Tabellen vorher.

Rename Table

Den Temp-Tabellen und Backup-Tabellen würde ich ein Suffix von __ geben. Der neue PHPMyAdmin erkennt solch ein Suffix als zusammengehörend. Das wird dann wie ein Ordner im Explorer angezeigt. Ist einfach übersichtlicher.
 
Zuletzt bearbeitet:
Schon ein bisschen her .. trotzdem:



Kann es sein, dass der Befehl RENAME erst seit MySQL 5 existiert? Beim Testen hat das bei mir leider nicht hingenhauen auf MySQL 4 :( Falls das so ist, gibts ne alternative?


Gruß
Frank
 

Neue Beiträge

Zurück