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 newpass

Si 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 newpass
Entrez 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_installation

Ré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.

Utiliser mysql_secure_installation pour changer le mot de passe root MySQL

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 newpass

Les 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 :

  1. Connectez-vous au serveur MySQL, tapez la commande suivante à l’invite de commande :
mysql -u root -p
  1. Utilisez la base de données mysql (tapez les commandes à l’invite mysql>) :
mysql> use mysql;
  1. 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");
  1. Rechargez les privilèges :
mysql> flush privileges;  
mysql> quit

Cette 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 stop

Sortie :

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 root

Sortie :

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> quit

MySQL 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 stop

Sortie :

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-tables

Ou 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 mysqld

La 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 -p
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.