Server 1 soll jetzt immer nur die aktuellen Daten der letzten 4 Wochen speichern damit die Datenbank nicht zu groß wird und die Performance gut bleibt. Server 2 hat eine riesige Festplatte und soll sämtliche alten Daten der letzten Jahre speichern.
Die Idee ist folgende: Ich lasse täglich einen cronjob laufen, der die Daten > 4 Wochen exportiert und anschliessend auf dem anderen Server importiert.
Meine Frage ist wie ich die Daten am geschicktesten exportiere. Als Textdateien (csv) oder im SQL-Format? Was ist besser/schneller/sicherer wenn ich sie danach direkt in die andere Datenbank importieren will.
Mir gehts nur um die Vor- und Nachteile der beiden Formate bei obigem Vorhaben.
Code: Select all
mysqldump -h Server1 db1 tabelle "--where=(datum>4wochen)" > daten.sql &&
mysql -h Server2 db2 < daten.sql &&
mysql -h Server1 db1 -e "DELETE FROM tabelle where (datum > 4wochen);"
Code: Select all
mysql -h Server1 db1 -e "select * into outfile 'daten.csv' FIELDS TERMINATED BY ';' enclosed by '"' lines terminated by 'rn' from tabelle where (datum > 4wochen) ;" &&
mysql -h Server2 db2 -e "LOAD DATA LOCAL INFILE 'daten.txt' INTO TABLE tabelle;" &&
mysql -h Server1 db1 -e "DELETE FROM tabelle where (datum > 4wochen);"