Lorsque j'ai essayé d'exécuter la commande suivante sur MySQL depuis Terminal:
mysql -u $user -p$password -e "statement"
L'exécution fonctionne comme prévu, mais elle émet toujours un avertissement:
Avertissement: L'utilisation d'un mot de passe sur l'interface de ligne de commande peut être non sécurisée.
Cependant, je dois effectuer la déclaration ci-dessus en utilisant une variable d'environnement ( $password
) qui stocke mon mot de passe, car je veux exécuter la commande de manière itérative dans le script bash à partir de Terminal, et je n'aime vraiment pas l'idée d'attendre une invite qui s'affiche et me forçant à saisir mon mot de passe 50 ou 100 fois dans un seul script. Voici donc ma question:
Est-il possible de supprimer l'avertissement? La commande fonctionne correctement comme je l'ai dit, mais la fenêtre devient assez désordonnée lorsque je boucle et exécute la commande 50 ou 100 fois.
Dois-je obéir au message d'avertissement et NE PAS écrire mon mot de passe dans mon script? Si c'est le cas, dois-je taper mon mot de passe chaque fois que l'invite me force à le faire?
Courir man mysql
n'aide pas, en disant seulement
--show-warnings
Faire apparaître des avertissements après chaque instruction, le cas échéant. Cette option s'applique au mode interactif et par lots.
et ne mentionne rien sur la façon de désactiver la fonctionnalité, si je ne manque pas quelque chose.
Je suis sur OS X 10.9.1 Mavericks et utilise MySQL 5.6 de homebrew.
pexcept
. Il peut effectuer des insertions de terminal et également gérer les commentaires fournis par la commande. De cette façon, vous pouvez simplement ignorer la sortie détaillée et la bande de la sortie réelle que vous voulez :)
[client]
password=my_password
dans smth~/.my.cnf
). Certes, cela a également des implications en matière de sécurité, mais au moins il n'est pas accessible à quiconque peut s'exécuterps
, et vous en avez le contrôle avec les autorisations de fichier.