MySQL bulk insert à partir de fichiers de données CSV

J'ai quelques fichiers de données CSV que je veux importer dans mySQL. Je voudrais faire l'insérer dans un script shell, de sorte qu'il peut être automatisée. Cependant, je suis un peu fatigué d'avoir le nom d'utilisateur et le mot de passe en texte clair dans le script

J'ai les questions suivantes:

  1. Je suis mal à l'aise avec l'idée d'un uname/pwd en texte clair dans le script (il n'y a de toute façon de contourner cela, ou suis-je trop paranoïaque)?. Peut-être que je peux créer un utilisateur avec seulement INSÉRER privelege pour la table à insérer?
  2. La table de base de données (dans les données brutes importées) a une clé unique basé sur les colonnes de la table. Il est également possible qu'il peut y avoir des doublons dans les données que j'essaie d'importer. Plutôt que mySQL barfing (c'est à dire la totalité de l'insertion échoue), je voudrais, au contraire, veulent être en mesure de dire à mySQL de SOIT

(a) mise à JOUR de la ligne avec les nouvelles données OU
(b) d'IGNORER la ligne en double.

Quel que soit le paramètre-je choisir serait pour l'ENSEMBLE de l'importation, et non ligne par ligne. Existe-il des drapeaux etc je peux passer à mysql pour qu'il se comporte comme (a) OU (b) ci-dessus

  1. Quelqu'un peut-il suggérer un point de départ sur la façon d'écrire un tel (bourne) script shell?

OriginalL'auteur morpheous | 2010-05-11