Il y a de nombreuses différences entre les utilisations des noms et mots de passe sous MySQL, et celles qui sont faites sous Unix ou Windows :
Les noms d'utilisateurs, tels qu'utilisés pour le processus
d'identification sous MySQL, n'ont rien à voir avec les
noms d'utilisateurs Unix ou Windows. La plupart des clients
utilisent par défaut leur mot de passe Unix, mais c'est
surtout parce que c'est pratique. Les programmes clients
permettent d'utiliser des noms d'utilisateurs différents
avec les options -u
et
--user
. Cela signifie que vous ne pouvez
pas rendre une base de données sécuritaire sans donner de
mots de passe à tous les clients. Tout le monde peut
essayer de se connecter au serveur sous n'importe quel nom,
et il sera possible de se connecter si un nom d'utilisateur
n'a pas de mot de passe.
Les noms d'utilisateurs MySQL peuvent avoir jusqu'à 16 caractères ; les noms d'utilisateurs Unix sont généralement limités à 8 caractères.
Les mots de passe MySQL n'ont aucun rapport avec le passeport Unix. Il n'y a pas nécessairement de connexion entre le mot de passe que vous utilisez pour vous connecter sur la machine Unix et celui que vous utilisez pour accéder au serveur MySQL.
MySQL chiffre les mots de passe avec un algorithme
différent de celui qui est utilisé par Unix. Reportez-vous
aux descriptions des fonctions PASSWORD()
et ENCRYPT()
dans
Section 12.8.2, « Fonctions de chiffrements ». Notez que même si
le mot de passe est enregistré 'brouillé', connaître
votre mot de passe 'brouillé' est suffisant pour se
connecter au serveur MySQL.
Lorsque vous installez MySQL, la table de droit contient
quelques comptes initiaux. Ces comptes ont des noms et droits
qui sont décrits dans Section 2.5.3, « Création des premiers droits MySQL », qui
montre aussi comment donner des mots de passe. Après cela, vous
pouvez créer, modifier ou supprimer normalement des comptes
MySQL avec les commandes GRANT
et
REVOKE
. See Section 13.5.1.3, « Syntaxe de GRANT
et REVOKE
».
Lorsque vous vous connectez à un serveur MySQL avec un client
en ligne de commande, vous devez spécifier le mot de passe avec
l'option --password=mot-de-passe
. See
Section 5.5.4, « Se connecter au serveur MySQL ».
mysql --user=monty --password=devine nom_base
ou la version courte :
shell> mysql -u monty -pdevine nom_base
Il ne doit pas y avoir d'espace entre
l'option -p
et le mot de passe suivant.
Les commandes incluent la valeur d'un mot de passe en ligne de commande, ce qui n'est pas sécuritaire. See Section 5.6.6, « Garder vos mots de passe en lieu sûr ».
Pour éviter cela, spécifiez l'option
--password
ou -p
sans aucune
valeur :
shell>mysql --user=monty --password nom_base
shell>mysql -u monty -p nom_base
Le client va alors afficher une invite, et vous demander d'y
saisir le mot de passe. Dans les exemples,
nom_base
n'est pas
interprété comme un mot de passe, car il est séparé de
l'option précédente par un espace.
Sur certains systèmes, l'appel que MySQL utilise pour demander le mot de passe va limiter automatiquement le mot de passe à 8 caractères. C'est un problème avec la bibliothèque système, et non pas avec MySQL. En interne, MySQL n'a pas de limite pour la taille du mot de passe. Pour contourner le problème, modifiez la taille du mot de passe pour qu'il fasse 8 caractères ou mois, ou placez votre mot de passe dans un fichier d'options.
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.