Ich habe einige CSV-Datendateien, die ich in mySQL importieren möchte. Ich würde das Einfügen gerne in einem Shell-Skript durchführen, damit es automatisiert werden kann. Ich habe jedoch Bedenken, den Benutzernamen und das Kennwort im Klartext im Skript zu verwenden
Ich habe die folgenden Fragen:
-
Ich fühle mich unwohl bei der Vorstellung, dass ein uname/pwd im Klartext im Skript steht (gibt es eine Möglichkeit, dies zu umgehen, oder bin ich zu paranoid)? Vielleicht kann ich einen Benutzer mit nur INSERT-Rechten für die Tabelle einrichten, die eingefügt werden soll?
-
Die Datenbanktabelle (in die die Rohdaten importiert werden) hat einen eindeutigen Schlüssel, der auf den Tabellenspalten basiert. Es ist auch möglich, dass es in den Daten, die ich zu importieren versuche, Duplikate gibt. Anstatt dass mySQL kotzt (d.h. die gesamte Einfügung schlägt fehl), möchte ich stattdessen mySQL sagen können, dass EITHER
(a) die Zeile mit den neuen Daten zu aktualisieren OR (b) Ignorieren Sie die doppelte Zeile.
Welche Einstellung ich auch immer wähle, sie gilt für den GESAMTEN Import und nicht für jede einzelne Zeile. Gibt es irgendwelche Flags usw., die ich an mysql übergeben kann, damit es sich wie (a) ODER (b) oben verhält?
- Kann jemand einen Ansatzpunkt vorschlagen, wie man ein solches (Bourne-)Shell-Skript schreibt?