Si vous n'avez jamais configuré un mot de passe
root
pour MySQL, le serveur n'en demendera
jamais un pour toutes les connexions de cet utilisateur. Il est
recommandé de toujours assigner un mot de passe à chaque
utilisateur. See Section 5.4, « Sécurité générale du serveur ».
Si vous avez configuré un mot de passe pour l'utilisateur
root
, mais que vous l'avez oublié, vous
pouvez en choisir un nouveau en suivant la procédure
suivante :
La procédure sous Windows :
Identifiez vous sur le système en tant qu'administrateur.
Stoppez le serveur MySQL s'il fonctionnait. Pour un serveur en fonctionnement en tant que service Windows, il faut aller dans le gestionnaire de services :
Start Menu -> Control Panel -> Administrative Tools -> Services
Puis, trouver le service MySQL dans la liste, et arrêtez le.
Si votre serveur ne fonctionne pas comme un service, essayer d'utiliser le gestionnaire de tâches pour l'arrêter.
Ouvrez une fenêtre de console DOS :
Start Menu -> Run -> cmd
Nous supposerons ici que vous avez installé MySQL dans le
dossier C:\mysql
. Si vous l'avez
installé ailleurs, ajustez les commandes.
A l'invite de commandes, exécutez cette commande :
C:\> C:\mysql\bin\mysqld-nt --skip-grant-tables
Cela va relancer le serveur dans un mode spécial, qui ne vérifie pas les droits dans les tables.
Gardez la première console ouverte, et ouvrez-en une seconde, et exécutez la commande suivante (une commande par ligne) :
C:\>C:\mysql\bin\mysqladmin -u root
flush-privileges password "newpwd" C:\>C:\mysql\bin\mysqladmin -u root -p shutdown
Remplacez ``newpwd
'' par le mot de passe
root
que vous voulez utiliser. La seconde
commande va vous demander d'enter le mot de passe pour
identification d'accès. Entrez le mot de passe que vous
avez assigné dans la première commande.
Stoppez le serveur MySQL, et relancez le comme d'habitude. Si vous lancez MySQL comme un service, démarrez le depuis le gestionnaire de services. Si vous le lancez manuellement, utilisez votre commande habituelle.
Vous devriez pouvoir vous connecter en utilisant le nouveau mot de passe.
Dans un environnement Unix, la procédure pour redéfinir le mot
de passe root
est le suivant :
Connectez vous sur votre système en tant que
root
Unix, ou avec le compte qui fait
tourner le démon mysqld
.
Repérez le fichier .pid
qui contient
l'identifiant du processus du serveur. Le chemin et le nom
exact de ce fichier dépendent de votre distribution, nom de
serveur et configuration. Les chemins classiques sont :
/var/lib/mysql/
,
/var/run/mysqld/
et
/usr/local/mysql/data/
. Généralement,
le nom du fichier est suivi de l'extension
.pid
et commence avec
mysqld
ou le nom de votre serveur.
Terminez le serveur mysqld
en lui
envoyant une commande kill
(pas un
kill -9
), en utilisant le numéro
d'identifiant de processus que vous venez de lire dans le
fichier .pid
.
shell> kill `cat /dossier-donnees-mysql/hote.pid`
Vous devez être l'utiliateur Unix root
ou l'utilisateur qui fait tourner mysqld
pour pouvoir le faire.
Redémarrez mysqld
avec l'option
--skip-grant-tables
.
shell> mysqld_safe --skip-grant-tables &
Choisissez un nouveau mot de passe avec la commande
mysqladmin password
:
shell> mysqladmin -u root password 'nouveaumotdepasse'
Remplacez ``nouveaumotdepasse
'' avec le
mot de passe root
que vous souhaitez.
Après cela, vous devriez pouvoir vous connecter avec le nouveau mot de passe.
Alternativement, sur toutes les plate-formes, vous pouvez aussi
choisir le nouveau mot de passe en utilisant le client
mysql
:
Stoppez et redémarrez mysqld
avec
l'option --skip-grant-tables
comme décrit
plus haut.
Connectez vous au serveur mysqld
avec :
shell> mysql -u root mysql
Exécutez la commande suivante dans le client
mysql
:
mysql>UPDATE user SET Password=PASSWORD('nouveaumotdepasse')
->WHERE User='root';
mysql>FLUSH PRIVILEGES;
Après cela, vous devriez pouvoir vous connecter avec le nouveau mot de passe.
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.