Il est recommandé de ne pas placer votre mot de passe là où il risque d'être découvert par d'autres personnes. Les méthode que vous utiliserez pour spécifier votre mot de passe lors de la connexion avec le client sont listées ici, avec les risques liés à chaque méthode :
Utilisez l'option -p
ou
--password
(sans la valeur du mot
de passe
). Dans ce cas, le programme client va
solliciter la saisie du mot de passe depuis le terminal :
shell> mysql -u user_name -p
Enter password: ********
Cette méthode est pratique mais peu sûre, car le mot de
passe est visible par les programmes système tels que
ps
qui peuvent être appelé par les
autres utilisateurs. Les clients MySQL remplacent
généralement les arguments de la ligne de commande par des
zéros durant leur initialisation, mais il y a un court
instant où la valeur est visible.
Utilisez les options -p
ou
--password
sans valeur de mot de passe.
Dans ce cas, le client va solliciter explicitement le mot de
passe du terminal :
shell> mysql -u francis
Enter password: ********
Les caractères ‘*
’
représentent votre mot de passe. Le mot de passe n'est pas
affiché en clair lors de votre saisie.
Cette méthode est bien plus sûre pour saisir votre mot de passe qu'en le spécifiant directement en ligne de commande, car il n'est pas visible des autres utilisateurs. Cependant, cette méthode n'est possible qu'avec les programmes que vous utilisez en mode interactif. Si vous voulez invoquer le client depuis un script qui s'exécute de manière non interactive, il n'y aura pas d'opportunité pour saisir ce mot de passe dans le terminal. Sur certains systèmes, vous pourriez même voir la première ligne de votre script lue et interprétée comme votre mot de passe, incorrectement.
Stockez votre mot de passe dans le fichier de configuration.
Par exemple, vous pouvez lister votre mot de passe dans la
section [client]
du fichier
.my.cnf
dans votre dossier personnel :
[client] password=mot_de_passe
Si vous stockez ce mot de passe dans le fichier
.my.cnf
, le fichier ne doit pas être
lisible par le groupe ou par les autres utilisateurs, ou
encore accessible en écriture : seul le propriétaire de
ce fichier doit avoir ces droits. Assurez-vous les droits
d'accès au fichiers sont 400
ou
600
. Par exemple :
shell> chmod 600 .my.cnf
Section 4.3.2, « Fichier d'options my.cnf
» présente les options pour
plus de détail.s
Vous pouvez stocker votre mot de passe dans la variable
d'environnement MYSQL_PWD
, mais cette
méthode doit être considérée comme extrêmement peu
sûre, et doit être évitée autant que possible. Certaines
versions de la commande en ligne ps
incluent une option pour afficher les variables
d'environnement des processus : votre mot de passe sera
alors facilement accessible, et en texte clair, si vous
configurez la commande MYSQL_PWD
. Même
sur les systèmes sans une telle version de la commande
ps
, il est peu recommandé de supposer
que les variables d'environnement sont inaccessibles par une
méthode quelconque. See
Annexe E, Variables d'environnement.
En conclusion, la méthode la plus sûre est encore de laisser le client vous demander le mot de passe, ou de le spécifier dans le fichier de configuration.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.