Base de données · 6 min read · Feb 13, 2026
Configurer, changer et réinitialiser les mots de passe root MySQL et MariaDB

Ce tutoriel explique comment vous pouvez définir, changer et réinitialiser (si vous avez oublié le mot de passe) les mots de passe root MySQL ou MariaDB. Encore et encore, je vois des problèmes comme mysqladmin: échec de la connexion au serveur à ‘localhost’ erreur: ‘Accès refusé pour l’utilisateur ‘root’@’localhost’ (utilisation du mot de passe: OUI)’. J’ai donc pensé qu’il était temps de vous rappeler comment résoudre les problèmes de mot de passe liés à MySQL. Si vous cherchez juste une solution rapide comment réinitialiser un mot de passe root MySQL, vous pouvez le trouver en bas de ce tutoriel. Ce tutoriel est compatible avec toutes les principales distributions Linux, y compris CentOS, Debian, Fedora et Ubuntu.
Utiliser la commande mysqladmin pour changer le mot de passe root
Méthode 1 - Configurer un mot de passe root pour la première fois
Si vous n’avez jamais défini de mot de passe root pour MySQL, le serveur ne nécessite pas de mot de passe du tout pour se connecter en tant que root. Pour configurer un mot de passe root pour la première fois, utilisez la commande mysqladmin à l’invite de commande comme suit :
mysqladmin -u root password newpassSi vous souhaitez changer (ou mettre à jour) un mot de passe root au nouveau mot de passe ‘ newpass ‘, alors vous devez utiliser la commande suivante :
mysqladmin -u root -p password newpassEntrez le mot de passe :Si vous obtenez…
mysqladmin: échec de la connexion au serveur à 'localhost'
erreur: 'Accès refusé pour l'utilisateur 'root'@'localhost' (utilisation du mot de passe: OUI)'suivez les instructions ci-dessous sur la façon de récupérer votre mot de passe MySQL.
Le mot ‘ password ‘ dans l’exemple ci-dessus fait partie de la commande, ne le remplacez pas par votre mot de passe. Le mot ‘ newpass ‘ est le nouveau mot de passe.
Une alternative à l’utilisation de la commande mysqladmin lors de la définition du mot de passe root MySQL ou MariaDB pour la première fois est d’utiliser la commande mysql_secure_installation. Cette commande demandera non seulement l’ancien et le nouveau mot de passe root MySQL, mais effectuera également d’autres paramètres de sécurité comme la désactivation de la base de données de test.
Voici comment utiliser cette commande :
mysql_secure_installationRépondez aux questions comme indiqué ci-dessous :
Changer le mot de passe root ? [Y/n] <-- y
Nouveau mot de passe : <-- Entrez un nouveau mot de passe root MySQL
Répétez le nouveau mot de passe : <-- Répétez le mot de passe root MySQL
Supprimer les utilisateurs anonymes ? [Y/n] <-- y
Interdire la connexion root à distance ? [Y/n] <-- y
Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] <-- y
Recharger les tables de privilèges maintenant ? [Y/n] <-- y Les réponses ci-dessus sont des recommandations, vous êtes libre de choisir d’autres paramètres, par exemple lorsque vous préférez conserver les bases de données de test ou avez besoin d’un accès à distance pour l’utilisateur root. Remarque : vous n’avez pas besoin d’un accès à distance pour utiliser PHPMyAdmin à distance.

Changer le mot de passe MySQL pour d’autres utilisateurs
Pour changer le mot de passe d’un utilisateur normal, vous devez taper :
mysqladmin -u user-name -p password newpassLes variables dans cet exemple sont :
- user-name : Le nom d’utilisateur de l’utilisateur pour lequel vous souhaitez changer le mot de passe.
- newpass : Le nouveau mot de passe
Le mot ‘password’ n’est pas une variable, donc ne le remplacez pas. La commande demandera l’ancien mot de passe.
Méthode 2 - Mettre à jour ou changer le mot de passe
MySQL stocke les noms d’utilisateur et les mots de passe dans la table utilisateur à l’intérieur de la base de données MySQL. Vous pouvez directement mettre à jour un mot de passe en utilisant la méthode suivante pour mettre à jour ou changer les mots de passe :
- Connectez-vous au serveur MySQL, tapez la commande suivante à l’invite de commande :
mysql -u root -p- Utilisez la base de données mysql (tapez les commandes à l’invite mysql>) :
mysql> use mysql;- Changez le mot de passe pour un utilisateur :
MySQL 5.7.5 et antérieur
mysql> update user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';MySQL 5.7.6 et plus récent
mysql> SET PASSWORD FOR 'ENTER-USER-NAME-HERE'@'localhost' = PASSWORD("newpass");- Rechargez les privilèges :
mysql> flush privileges;
mysql> quitCette méthode doit être utilisée lors de l’utilisation de PHP ou de scripts Perl.
Récupérer le mot de passe root MySQL perdu
Vous pouvez récupérer un mot de passe de serveur de base de données MySQL avec les cinq étapes faciles suivantes :
Étape # 1 : Arrêtez le processus du serveur MySQL.
Étape # 2 : Démarrez le serveur/daemon MySQL (mysqld) avec l’option –skip-grant-tables afin qu’il ne demande pas de mot de passe.
Étape # 3 : Connectez-vous au serveur MySQL en tant qu’utilisateur root.
Étape # 4 : Définissez un nouveau mot de passe root.
Étape # 5 : Quittez et redémarrez le serveur MySQL.
Voici les commandes que vous devez taper pour chaque étape (connectez-vous en tant qu’utilisateur root) :
Étape # 1 : Arrêtez le service MySQL :
service mysql stopSortie :
Arrêt du serveur de base de données MySQL : mysqld.Étape # 2 : Démarrez le serveur MySQL sans mot de passe :
mysqld_safe --skip-grant-tables &Sortie :
[1] 5988
Démarrage du démon mysqld avec des bases de données depuis /var/lib/mysql
mysqld_safe[6025]: démarréÉtape # 3 : Connectez-vous au serveur MySQL en utilisant le client MySQL :
mysql -u rootSortie :
Bienvenue dans le moniteur MySQL. Les commandes se terminent par ; ou \g.
Votre identifiant de connexion MySQL est 56299
Version du serveur : 5.6.34-1 (Debian)Droits d'auteur (c) 2000, 2016, Oracle et/ou ses filiales. Tous droits réservés.Oracle est une marque déposée d'Oracle Corporation et/ou de ses
filiales. D'autres noms peuvent être des marques de leurs propriétaires respectifs.Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer l'instruction d'entrée actuelle.
mysql>Étape # 4 : Définissez un nouveau mot de passe utilisateur root MySQL :
MySQL 5.7.5 et antérieur
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quitMySQL 5.7.6 et plus récent
mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpass");
mysql> flush privileges;
mysql> quit Étape # 5 : Arrêtez le serveur MySQL :
service mysql stopSortie :
Arrêt du serveur de base de données MySQL : mysqld
ARRÊT DU serveur à partir du fichier pid /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: terminé
[1]+ Terminé mysqld_safe --skip-grant-tablesOu utilisez cette commande pour arrêter MySQL si la commande ci-dessus échoue à l’arrêter (la commande qui fonctionne dépend de la version de MySQL) :
killall mysqldLa sortie peut différer selon la distribution Linux. Ne vous inquiétez pas à moins qu’elle ne signale une erreur. Démarrez le serveur MySQL et testez-le :
service mysql start
mysql -u root -pRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.