Changer de mot de passe MySQL
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à changer les mots de passes des utilisateurs et de root dans MySQL. Il existe plusieurs façons de faire avec plusieurs outils et nous allons ici étudier les plus courantes.
On peut par exemple utiliser la commande "mysqladmin" qui est spécialement prévue pour ce genre de modification, nous pouvons également utiliser une commande "courante" de changement de valeurs dans une table ("UPDATE") ou encore s'aider d'outils comme "PhpMyAdmin" qui fournis une interface web pour la gestion de nos bases de données.
Il faut savoir que, comme toutes les informations concernant MySQL et ses bases de données, les utilisateurs, leurs droits et leurs mots de passe sont stockés dans la base de données "mysql" et plus précisément dans la table "user". La seule chose que nous avons à faire est donc de modifier la valeur du champ "password" de cette table.
II. Changer le mot de passe root avec la commande "mysqladmin"
Une commande spécifique à la modification du mot de passe root existe, elle est fournie avec l'installation de "mysql-server". Pour changer le mot de passe de l'utilisateur "root" , on l'utilisera de la manière suivante :
mysqladmin -u root -p"mdp_root" password "nouveau_mdp"
On peut aussi utiliser cette commande pour un utilisateur simple mais il faut que celui-ci ai le droit de modifier son propre mot de passe. La construction de la commande restera la même.
III. Changer le mot de passe utilisateur avec une commande SQL
On peut également changer le mot de passe d'un utilisateur ou de root à partir d'une commande SQL. On doit donc pour cela s'identifier entant que root sur le CLI mysql :
mysql -u root -p
On utilisera donc la commande "UPDATE". Par exemple pour changer le mot de passe de l'utilisateur root :
UPDATE mysql.user SET password=PASSWORD("nouveau_mdp") where User="root";
On va donc dans le table "user" de la base de données "mysql" pour y modifier l'attribut "password". On utilisera la forme "=PASSWORD("mot de passe")" afin que celui-ci soit chiffré. Si on ne construit pas le mot de passe de cette façon, il apparaitra en clair dans la base de données et en plus il ne sera pas reconnu par le système d'authentification de MySQL.
Pour un autre utilisateur, la commande sera exactement la même en changeant le "User="root" " avec le nom de l'utilisateur en question. Pour le changement de l'utilisateur "root", on aura la réponse suivante:
En effet, par défaut il y a trois utilisateur root, MySQL créé un utilisateur par "host". On peut faire la requête suivante pour voir plus précisément le champ user :
select user,host,password FROM mysql.user
Nous verrons alors quelque chose comme suivant :
On voit alors trois utilisateur "root" qui sont la par défaut et qui correspondent chacun à un "host" précis avec tout trois le même mot de passe (chiffrés).
IV. Changement des mots de passe par PhpMyadmin
On peut enfin s'aider de l'outil PhpMyadmin qui nous permet de gérer notre base de données par interface web. On se rendra donc sur notre PhpMyadmin pour se loguer (si possible en root) :
On ira ensuite dans la base de données "mysql" et dans la table "user" :
Nous voyons ici tous nos utilisateurs avec les hôtes depuis lesquels ils peuvent se connecter ainsi que leurs mots de passe chiffrés. Pour modifier le mot de passe d'un utilisateur, il nous suffira de cliquer sur le stylo à droite de la ligne correspondant à l'utilisateur en question :
Il faudra alors bien sélectionner "PASSWORD" dans la colonne fonction de "password" et entrer notre mot de passe (en clair pour qu'il soit chiffré ensuite) dans la colonne "Valeur". Nous cliquerons ensuite sur "Exécuter" en bas de page pour confirmer le changement du mot de passe.
Bonjour,
Merci pour ces explications qui m’ont bien aidé pour la création d’un mot de passe MySQL !
J’ai utilisé la méthode phpMyAdmin et tout s’est bien passé.
Bonne journée,
François C.
Bonjour,
J’utilise Wampserver et je n’arrive pas à accéder à PhpMyAdmin et j’ai essayé toutes les lignes de commande dans la console Mysql mais aucune ne fonctionne.
Y a-t-il d’autres moyens de réinitialiser le mot de passe root ?