Quand vous utilisez MySQL en ligne de commande, vous pouvez tomber sur cet avertissement :
mysql: [Warning] Using a password on the command line interface can be insecure.Langage du code : CSS (css)
Il apparaît généralement quand vous passez le mot de passe directement dans la commande MySQL :
mysql -u root -pMotDePasse
La commande fonctionne, mais MySQL vous prévient que cette pratique n’est pas sûre. Et pour une fois, l’avertissement n’est pas là pour décorer le terminal.
Voici pourquoi ce message apparaît, ce qu’il faut éviter, et les méthodes propres pour utiliser MySQL en ligne de commande sans exposer votre mot de passe.
Pourquoi MySQL affiche cet avertissement ?
MySQL affiche cet avertissement lorsque le mot de passe est fourni directement dans la ligne de commande, par exemple avec -pMotDePasse ou --password=MotDePasse.
Le risque vient du fait qu’une ligne de commande peut être visible à plusieurs endroits :
- dans l’historique du shell ;
- dans la liste des processus ;
- dans certains outils de monitoring ;
- dans des logs de scripts ;
- dans des sauvegardes de scripts ;
- dans un dépôt Git si la commande est copiée dans un fichier versionné.
Sur une machine mono-utilisateur, le risque peut sembler faible. Sur un serveur partagé, une machine de production, un environnement CI/CD ou un poste de développement avec beaucoup d’outils, c’est une mauvaise habitude à corriger.