MySQL / MariaDB : comment modifier le mot de passe de root ou d’un utilisateur ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons voir comment modifier le mot de passe d'un utilisateur présent dans MySQL ou MariaDB.
À titre de rappel, MySQL et MariaDB sont des systèmes gestion de bases de données (SGBD). MySQL est à la fois distribué sous licence libre (GPL) et propriétaire. Tandis que MariaDB est totalement libre et open source. Ils fonctionnent également sous plusieurs plateformes (Linux, Windows, MacOS, etc.).
L'accès à ces SGBDs reste cependant, comme la plupart des solutions de ce type, soumis à l'authentification par mot de passe. Il arrive aussi qu'un utilisateur doive changer son mot de passe, que ce soit par oubli ou pour des motifs de sécurité.
Ici, on verra comment changer le mot de passe d'un utilisateur sous MySQL et sous MariaDB, que ce dernier soit root ou utilisateur standard. On utilisera pour cela deux méthodes : la méthode en ligne de commande et la méthode graphique. Attention, ce tutoriel ne traite pas le cas où le mot de passe root a été perdu.
MySQL et MariaDB sont respectivement sous les versions 8.0.38 et 11.7 au moment de la publication de ce tutoriel. Pour rappel, lors de l'installation de MySQL ou MariaDB, il est fréquent d'utiliser la commande mysql_secure_installation pour effectuer quelques actions de base pour sécuriser la nouvelle installation, notamment modifier le mot de passe root. Ici, nous verrons une méthode indépendante de l'exécution de ce script.
Version originale de l'article : 21 septembre 2020.
II. MySQL : changer le mot de passe d'un utilisateur
A. Méthode en ligne de commande
Pour changer le mot de passe d'un utilisateur sous MySQL ou sous MariaDB en ligne de commande, on procède comme suit.
D'abord, on ouvre un terminal (local ou distant) sur la machine sur laquelle MySQL est présent. Que le serveur MySQL soit sous Windows ou Linux, la manipulation reste la même. Puis, on se connecte directement à la base de données mysql en tant que root ou avec un compte ayant des privilèges similaires.
mysql -u root -p mysql
L'étape suivante consiste à récupérer des informations essentielles du serveur de base de données : la liste des utilisateurs, les machines à partir desquelles ils se connectent (hôtes), et leurs mots de passe sous forme sécurisée (hash). Cela nous permet également de vérifier la présence effective de l'utilisateur-cible sur notre serveur.
La requête pour cela est la suivante :
# Sur MariaDB
MariaDB [(none)]> select user,host,password from mysql.user;
# Sur MySQL
mysql> SELECT user,host,authentication_string FROM mysql.user;

La commande utilisée pour changer le mot de passe d'un utilisateur est alter user, peu importe son rôle (administrateur ou standard).
La syntaxe de la requête permettant de modifier le mot de passe d'un utilisateur est la suivante :
alter user 'nom d'utilisateur'@'hôte' identified by 'nouveau mot de passe'
La requête ci-dessous nous permet, par exemple, de modifier le mot de passe root sur le serveur local, en lui associant la valeur _o0t#@()é&P$ :
alter user 'root'@'localhost' identified by '_o0t#@()é&P$';
On peut aisément constater après avoir refait la requête select user,host,password from mysql.user; que le mot de passe de root a effectivement été modifié. En effet, les hashs sont différents.


Une requête de modification de mot de passe peut également intégrer de nombreux autres paramètres, tels que la durée de validité du mot de passe, l'algorithme de hachage utilisé, ou encore le verrouillage automatique du compte après un certain nombre d'essais infructueux. Certains de ces paramètres seront explorés dans un prochain tutoriel.
B. Méthode graphique avec PhpMyAdmin
Nous allons utiliser PhpMyAdmin, un des outils graphiques les plus répandus pour l'administration de bases de données, afin de voir comment changer le mot de passe d'un utilisateur MySQL/MariaDB.
Vous pouvez consulter les tutoriels ci-dessous pour découvrir comment l'installer sur votre serveur :
L'accès à l'interface d'administration web de PhpMyAdmin se fait en entrant son URL dans la barre d'adresse d'un navigateur depuis un ordinateur connecté au serveur (ou lui-même). Ici, on rentre donc https://192.168.1.111/phpmyadmin/.
On se connecte donc avec un compte administrateur et on clique sur le bouton Comptes utilisateurs. On choisit ensuite le compte à modifier et on clique sur Change password. Puis, on se rend dans la section Mot de passe. On peut saisir un mot de passe manuellement ou en générer un automatiquement en cliquant sur le bouton Générer. Le choix de l'algorithme de hachage est également disponible. Une fois tous les choix opérés, on clique sur le bouton Exécuter pour appliquer le changement.

Voilà, l'opération a été effectuée !
III. Conclusion
Ce tutoriel touche à sa fin ! On vient de voir ici comment modifier le mot de passe d'un utilisateur sous MySQL/MariaDB. N'hésitez pas à tester cela de votre côté et à nous faire un retour en commentaire !


Merci
Heureux de voir cette procédure sur mon site préféré.
Merci it-connect
Merci à vous aussi !
Une autre méthode toute simple si vous utilisez Mariadb ou Mysql
Via Heidisql
nul besoin d’installer quoi que ce soit, il existe une version portable de ce tool