MySQL ist genial! Ich bin derzeit an einer großen Servermigration beteiligt und zuvor war unsere kleine Datenbank auf demselben Server wie der Client gehostet.
So haben wir dies zu tun: SELECT * INTO OUTFILE .... LOAD DATA INFILE ....
MySQL - SELECT * IN OUTFILE LOKAL?
Jetzt haben wir die Datenbank auf einen anderen Server verschoben und SELECT * INTO OUTFILE ....
nicht mehr funktioniert, verständlich - aus Sicherheitsgründen, glaube ich. Aber interessanterweise LOAD DATA INFILE ....
kann geändert werden zu LOAD DATA LOCAL INFILE ....
und bam, es funktioniert.
Ich beschwere mich nicht, noch drücke ich Ekel gegenüber MySQL aus. Die Alternative zu diesem fügte 2 Zeilen zusätzlichen Code und einen Systemaufruf ein .SQL-Skript hinzu. Ich wollte nur wissen, warum LOAD DATA LOCAL INFILE
funktioniert und warum gibt es keine SELECT INTO OUTFILE LOCAL
?
Ich habe meine Hausaufgaben gemacht, konnte keine direkte Antwort auf meine Fragen oben finden. Ich konnte auch keine Feature-Anfrage bei MySQL finden. Wenn jemand das klären kann, war das großartig!
Kann MariaDB dieses Problem lösen?
Es ist eine Alternative, die den Befehl tee beinhaltet, die Sie die Eingabe und Ausgabe von mysql ein protokollieren können separate Datei auf der Client-Seite, jedoch protokolliert dies die gesamte mysql-Sitzung, anstatt ausgewählte Abfragebefehle auszugeben, und es gibt keine Formatierungsoptionen wie die Ausgabe im CSV-Format. – CMCDragonkai