Ich muss Daten aus einer Tabelle in einen CSV exportieren. Ich habe die folgende Struktur (nicht wirklich meine Tabelle, aber für Demozwecke)
%Vor%mit Daten (ca. 3000 Datensätze). jetzt möchte ich einige dieser sätze exportieren (aus einem script, das ich über cronjob laufe)
%Vor%es zeigt:
%Vor%mache ich dann:
%Vor%Wo ist meine Datei?
Wenn Sie den Befehl INTO OUTFILE
verwenden, exportieren Sie die Daten in den lokalen Ordner des Servers, nicht in den Ordner, in dem Sie die Abfrage ausführen.
Beispiel: Sie befinden sich auf Ihrem Computer (ip: 192.168.0.100) und verbinden sich mit dem mysql-Befehl (ip: 192.168.0.101) mit dem Befehl mysql: mysql -uuser -h192.168.0.101 -A database
. Durch Ausführen von SELECT * INTO OUTFILE
wird die Datei auf dem mysqlserver (ip: 192.168.0.101) und NICHT auf Ihrem Computer (ip: 192.168.0.100) gespeichert.
Sie können nun ein Skript verwenden, das eine CSV-Datei erstellt (in Ihrem Cronjob - Sie wählen alle Daten aus, generieren die Datei und senden sie per scp an den anderen Server).
Oder - Sie können auch ein NFS auf /shared/
gemountet haben und wenn Sie die Datei automatisch erstellen, hat der andere Server sie.
Oder - Sie können einfach einen mysql-Befehl in einem Bash-Skript wie diesem von Ihrem ersten Server ausführen.
%Vor%Quelle: Ссылка
Tags und Links php mysql linux cron export-to-csv