Lorsque l'on travaille avec le SGBD MySQL, il est extrêmement important de savoir comment changer le mot de passe de l'utilisateur. Il semble que cette tâche ne puisse être résolue que si vous disposez des droits de superutilisateur. Cependant, même un utilisateur ordinaire peut modifier le mot de passe dans certaines circonstances. Dans cet article, nous vous expliquons comment le faire dans des circonstances normales.
Vous pouvez modifier le mot de passe d'un utilisateur de différentes manières. Dans l'environnement MySQL, il existe deux commandes pour cette tâche : SET PASSWORD
et ALTER USER
. Nous allons vous présenter chacune de ces deux méthodes en détail.
Au début de cette année, MySQL a deux versions principales. La première est obsolète mais toujours supportée (il s'agit de la version 5.7), et la plus récente est la version 8.0. Comment connaître la version de MySQL ? Vous pouvez le faire à l'aide d'une commande spéciale, qui doit être exécutée dans le terminal :
$ mysql –version
Comme vous pouvez le voir dans l'image ci-dessus, la version 8.0.28 est utilisée, mais il est important de noter que la commande ALTER USER
n'est pertinente que dans les versions antérieures de MySQL.
Pour accéder à la console, vous devez vous connecter à MySQL en utilisant votre login et votre mot de passe. Lorsqu'un utilisateur est déjà autorisé sur le serveur, vous devez effectuer toutes les actions en son nom. Lorsque MySQL est utilisé pour la première fois, vous devez utiliser les privilèges de root.
La commande pour se connecter en tant que root :
$ mysql -u root –p
Ensuite, une invite de mot de passe apparaît. Il reste à saisir le mot de passe, à appuyer sur la touche Entrée, puis à charger l'interface MySQL avec toutes les commandes disponibles.
La particularité de MySQL est qu'il dispose d'un hôte distinct auquel un compte est lié. Notons les trois hôtes principaux :
Localhost ne permet qu'une connexion locale sans connectivité à distance, % signifie que le compte peut être utilisé à partir de n'importe quel hôte, IP address/domain name signifie que le compte ne peut être utilisé qu'au niveau du nom de domaine/adresse IP sélectionné(e).
Pour connaître le type d'hôte du compte, nous devons exécuter la requête SQL suivante :
$ SELECT user, host FROM mysql.user
Dans la capture d'écran ci-dessus, nous pouvons voir que l'utilisateur alex a un hôte de %. Cet hôte doit être utilisé lors du changement de mot de passe. Les utilisateurs dans MySQL et toutes les informations sur les utilisateurs sont stockés dans la base de données mysql dans la table user.
Vous pouvez également modifier le mot de passe à l'aide de la commande SET PASSWORD
. Pour modifier le mot de passe de l'utilisateur alex avec l'hôte % en somepassword666, vous devez utiliser la commande suivante :
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Vous pouvez modifier le code de l'utilisateur à l'aide d'une autre commande - ALTER USER
. Pour modifier le mot de passe de l'utilisateur alex avec l'hôte % en un autre mot de passe666, nous allons exécuter une requête SQL :
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Veuillez noter que le nom d'utilisateur et l'hôte sont placés entre guillemets simples. Sans ces guillemets, MySQL ne sera pas en mesure de reconnaître la chaîne.
Réinitialisez maintenant le cache des privilèges :
$ FLUSH PRIVILEGES;
Une fois que vous avez changé le mot de passe, modifié les privilèges et réinitialisé le cache, vous devez effectuer une vérification de connexion en tant qu'utilisateur dont le mot de passe a été modifié.
Quittez le
shell MySQL en exécutant la commande exit
:
$ exit
Connectez-vous maintenant à l'interpréteur de commandes :
$ mysql -u alex -p
Si l'invite système s'affiche lors de la connexion, vous avez tout fait correctement, ce qui signifie que le mot de passe a été modifié avec succès.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: