Comment trouver ou réinitialiser le mot de passe root MySQL (Guide Linux & Windows)

1. Introduction

MySQL est un outil essentiel utilisé dans de nombreuses applications web et systèmes de bases de données. Cependant, lors des opérations, il n’est pas rare de se retrouver dans des situations comme « J’ai oublié le mot de passe » ou « Je ne connais pas le mot de passe initial ». Ces problèmes peuvent affecter considérablement le flux de travail et la sécurité de la base de données.

Dans cet article, nous expliquerons en détail – afin que même les débutants puissent suivre – comment vérifier le mot de passe initial de MySQL et comment le réinitialiser si vous l’avez oublié. Nous fournissons également des procédures pour Linux et Windows afin que vous puissiez suivre les étapes correspondant à votre environnement.

Dans la seconde moitié de l’article, nous aborderons également comment vérifier et modifier les paramètres de la politique de mot de passe, ainsi que la gestion des erreurs courantes. Cela vous aidera à acquérir une compréhension complète de la façon d’utiliser MySQL de manière plus sûre et efficace.

En lisant cet article, vous serez capable de comprendre et de mettre en pratique les points suivants :

  • Comment vérifier le mot de passe initial de MySQL
  • Comment réinitialiser le mot de passe si vous l’avez oublié (pour Linux et Windows)
  • Comment dépanner les problèmes et configurer les paramètres de la politique de mot de passe

Lisez jusqu’à la fin et configurez un environnement où vous pouvez utiliser MySQL en toute confiance.

2. How to Check the MySQL Initial Password

Lorsque vous installez MySQL pour la première fois, un mot de passe initial (temporaire) peut être défini par défaut. Si vous parvenez à trouver ce mot de passe initial, la première connexion et le processus de changement de mot de passe se dérouleront beaucoup plus facilement. Dans cette section, nous expliquerons les méthodes spécifiques pour vérifier le mot de passe initial sous Linux et Windows.

2.1 How to Check the Initial Password on Linux

Sous Linux, vous pouvez vérifier le mot de passe initial en consultant le fichier journal généré après l’installation de MySQL. Suivez les étapes ci‑dessous.

Steps:

  1. Ouvrez un terminal.
  2. Exécutez la commande suivante pour afficher le contenu du fichier journal.
    sudo cat /var/log/mysqld.log | grep 'temporary password'
    
  1. La sortie de la commande affichera le mot de passe initial accompagné du texte « temporary password ».
  • Exemple : 2025-01-19T10:45:32.123456Z 1 [Note] A temporary password is generated for root@localhost: Abc12345!
  • Dans ce cas, Abc12345! est le mot de passe initial.
  1. Notez le mot de passe initial et utilisez‑le lors de la connexion à MySQL.

Notes:

  • Le mot de passe initial est généré aléatoirement pour des raisons de sécurité.
  • Après la première connexion, vous devrez changer le mot de passe, veillez donc à en définir un nouveau.

2.2 How to Check the Initial Password on Windows

Sous Windows, vous pouvez vérifier le mot de passe initial à partir du fichier journal généré lors de la configuration initiale de MySQL, ou depuis l’écran de l’installateur. Utilisez les étapes ci‑dessous comme référence.

Steps:

  1. Ouvrez le répertoire où MySQL est installé.
  • Le chemin par défaut est généralement quelque chose comme : C:\ProgramData\MySQL\MySQL Server X.X\Logs *X.X indique le numéro de version de MySQL.
  1. Recherchez un fichier nommé mysqld.log.
  2. Ouvrez le fichier journal avec le Bloc‑notes ou tout autre éditeur de texte.
  3. Recherchez dans le fichier le mot‑clé « temporary password ».
  • Le mot de passe initial sera affiché avec le texte « root@localhost ».
  1. Notez le mot de passe initial et utilisez‑le lors de la connexion à MySQL.

Additional note:

  • Selon l’installateur, le mot de passe initial peut être affiché à l’écran pendant l’installation. Dans ce cas, il est recommandé d’enregistrer une capture d’écran.

3. What to Do If You Forgot the Password

Même si vous avez oublié votre mot de passe MySQL, vous pouvez le réinitialiser en suivant quelques méthodes. Dans cette section, nous expliquerons les procédures de réinitialisation du mot de passe pour Linux et Windows. Les deux méthodes nécessitent des privilèges administrateur, assurez‑vous donc d’exécuter ces étapes avec les droits appropriés.

3.1 How to Reset the Password on Linux

Sous Linux, une approche courante consiste à démarrer MySQL en mode sécurisé (avec l’option --skip-grant-tables) et à définir un nouveau mot de passe.

Steps:

  1. Stop the MySQL service Run the following command to stop the MySQL service.
    sudo systemctl stop mysqld
    
  1. Démarrer MySQL en mode sans échec En mode sans échec, l’authentification des utilisateurs est ignorée, ce qui vous permet d’accéder à MySQL sans mot de passe. Exécutez la commande suivante.
    sudo mysqld_safe --skip-grant-tables &
    
  1. Se connecter à MySQL Après le démarrage en mode sans échec, connectez‑vous à MySQL avec la commande suivante.
    mysql -u root
    
  1. Définir un nouveau mot de passe Exécutez la commande SQL suivante pour définir un nouveau mot de passe.
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
    

*Remplacez NewPassword123! par un nouveau mot de passe approprié.

  1. Redémarrer le service Après avoir défini le mot de passe, redémarrez le service MySQL en mode normal.
    sudo systemctl stop mysqld
    sudo systemctl start mysqld
    
  1. Vérifier la connexion avec le nouveau mot de passe Confirmez que vous pouvez vous connecter à MySQL en utilisant le nouveau mot de passe que vous avez défini.

3.2 Comment réinitialiser le mot de passe sous Windows

Sous Windows, vous pouvez réinitialiser le mot de passe en démarrant MySQL avec l’option --init-file.

Étapes :

  1. Arrêter le service MySQL Ouvrez le gestionnaire de services et arrêtez le « service MySQL ».

  2. Créer un fichier SQL pour la réinitialisation À l’aide de n’importe quel éditeur de texte, créez un fichier SQL (par ex., reset_password.sql) contenant le texte suivant et enregistrez‑le dans un répertoire approprié.

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
    

*Remplacez NewPassword123! par le nouveau mot de passe que vous souhaitez utiliser.

  1. Démarrer MySQL avec l’option --init-file Ouvrez l’invite de commandes en tant qu’administrateur et exécutez la commande suivante.
       mysqld --init-file="C:\path    o
    eset_password.sql"
    

*Remplacez C:\path o eset_password.sql par le chemin réel où vous avez enregistré le fichier SQL.

  1. Redémarrer le service Redémarrez MySQL en mode normal. Vous pouvez soit relancer le service dans le gestionnaire de services, soit exécuter la commande suivante.
    net start mysql
    
  1. Vérifier la connexion avec le nouveau mot de passe Confirmez que vous pouvez vous connecter à MySQL en utilisant le nouveau mot de passe que vous avez défini.

4. Vérifier et configurer la politique de mot de passe

MySQL propose une fonctionnalité appelée « politique de mot de passe » pour aider à garantir la sécurité des mots de passe. Elle vous permet d’imposer des exigences telles que la complexité minimale et la longueur. Ici, nous expliquerons comment vérifier la politique actuelle et comment modifier les paramètres si nécessaire.

4.1 Comment vérifier la politique de mot de passe

Pour vérifier la politique de mot de passe actuelle, vous utilisez le plugin validate_password. Si ce plugin est activé, MySQL valide les mots de passe selon la politique configurée.

Étapes :

  1. Connectez‑vous à MySQL.
    mysql -u root -p
    
  1. Exécutez la commande suivante pour vérifier les paramètres de la politique actuelle.
    SHOW VARIABLES LIKE 'validate_password%';
    
  1. La sortie affichera des éléments de configuration comme suit.
  • validate_password.policy : Niveau de force de la politique de mot de passe
    • 0 (LOW) : Autorise uniquement les lettres et les chiffres
    • 1 (MEDIUM) : Nécessite des lettres, des chiffres et des caractères spéciaux
    • 2 (STRONG) : Nécessite des lettres, des chiffres, des caractères spéciaux, des majuscules et des minuscules
  • validate_password.length : Longueur minimale du mot de passe
  • validate_password.mixed_case_count : Nombre minimal requis de caractères mixtes (majuscules/minuscules)
  • validate_password.number_count : Nombre minimal requis de chiffres
  • validate_password.special_char_count : Nombre minimal requis de caractères spéciaux

4.2 Modifier les paramètres de la politique de mot de passe

Si nécessaire, vous pouvez assouplir ou renforcer la politique de mot de passe. Des exemples sont présentés ci‑dessous.

Étapes pour modifier les paramètres de la politique :

  1. Connectez‑vous à MySQL.
    mysql -u root -p
    
  1. Exécutez des commandes SQL pour modifier les paramètres actuels. Exemple 1 : Assouplir la politique (passer au niveau LOW)
    SET GLOBAL validate_password.policy = 0;
    SET GLOBAL validate_password.length = 8;
    

Exemple 2 : Renforcer la politique (passer au niveau STRONG)

SET GLOBAL validate_password.policy = 2;
SET GLOBAL validate_password.length = 12;
SET GLOBAL validate_password.special_char_count = 2;
  1. Confirmez que les paramètres ont été appliqués.
    SHOW VARIABLES LIKE 'validate_password%';
    

Notes :

  • Pour conserver les paramètres après le redémarrage de MySQL, il est recommandé de les ajouter à my.cnf ou my.ini .
  • Exemple :
    [mysqld]
    validate_password.policy=1
    validate_password.length=10
    

4.3 Considérations lors de la modification des paramètres

  • Équilibrer sécurité et convivialité Renforcer la politique de mot de passe améliore la sécurité, mais peut rendre la gestion des mots de passe plus complexe. Dans les environnements avec de nombreux débutants, vous devez éviter les politiques plus strictes que nécessaire.
  • Impact opérationnel Si les utilisateurs existants ne respectent pas la nouvelle politique, des erreurs surviendront lorsqu’ils tenteront de mettre à jour leurs mots de passe après le changement. Vérifiez l’étendue de l’impact avant de modifier la politique.
  • Empêcher la réutilisation des mots de passe Dans les environnements de production, envisagez d’activer des fonctionnalités qui empêchent la réutilisation des mots de passe précédemment utilisés.

5. Dépannage

Lors de la vérification ou de la réinitialisation d’un mot de passe MySQL, vous pouvez rencontrer des erreurs inattendues. Dans cette section, nous expliquerons des exemples courants et comment les résoudre en détail.

5.1 Erreurs courantes et leurs causes

Erreur 1 : Erreur d’autorisation (Accès refusé pour l’utilisateur)

  • Cause : Cela se produit lorsque le nom d’utilisateur ou le mot de passe fourni lors de la connexion est incorrect, ou lorsque l’utilisateur ne possède pas les privilèges requis.
  • Solution :
  1. Vérifiez que vous utilisez le bon nom d’utilisateur et le bon mot de passe.
  2. Connectez‑vous en tant qu’utilisateur root, ou demandez à un administrateur de confirmer les privilèges.
  3. Si nécessaire, démarrez MySQL en mode sans échec ( --skip-grant-tables ) et corrigez les privilèges.

Erreur 2 : Le service MySQL ne démarre pas

  • Cause : Cela peut se produire s’il y a une erreur dans le fichier de configuration MySQL ( my.cnf ou my.ini ), ou si l’espace disque est insuffisant.
  • Solution :
  1. Vérifiez le fichier de journal d’erreurs MySQL. wp:list /wp:list
    • Sur Linux : /var/log/mysqld.log
    • Sur Windows : C:\ProgramData\MySQL\MySQL Server X.X\Logs\mysqld.log
  2. S’il y a une erreur dans le fichier de configuration, corrigez‑la — en particulier les paramètres récemment ajoutés.
  3. Si l’espace disque est insuffisant, supprimez les fichiers inutiles ou augmentez le stockage.
  4. Après correction, redémarrez le service. bash sudo systemctl restart mysqld

Erreur 3 : Le changement de mot de passe n’a aucun effet

  • Cause : Les tables de privilèges n’ont peut‑être pas été rechargées après le changement de mot de passe.
  • Solution :
  1. Après avoir exécuté la commande de changement de mot de passe, rechargez les privilèges avec la commande suivante. sql FLUSH PRIVILEGES;
  2. Redémarrez le service MySQL et essayez de vous connecter avec le nouveau mot de passe.

5.2 Récupération en mode sans échec

Si les solutions ci‑dessus ne résolvent pas le problème, vous pouvez essayer la récupération en mode sans échec.

Étapes :

  1. Arrêtez le service MySQL.
    sudo systemctl stop mysqld
    
  1. Démarrez MySQL en mode sans échec.
    sudo mysqld_safe --skip-grant-tables &
    
  1. En mode sans échec, connectez‑vous à MySQL et corrigez les privilèges ou le mot de passe de l’utilisateur concerné.
  2. Après correction, quittez le mode sans échec et redémarrez MySQL en mode normal.
    sudo systemctl restart mysqld
    

5.3 Comment utiliser efficacement le journal d’erreurs

Le journal d’erreurs MySQL est l’une des sources d’information les plus importantes pour le dépannage. Utilisez les étapes ci‑dessus pour le consulter et aider à résoudre les problèmes.

Étapes :

  1. Confirmez l’emplacement du journal d’erreurs.
  • Sur Linux (chemin courant) : /var/log/mysqld.log
  • Sur Windows : C:\ProgramData\MySQL\MySQL Server X.X\Logs\mysqld.log
  1. Affichez le fichier de journal.
    tail -n 100 /var/log/mysqld.log
    

*Si vous souhaitez surveiller les dernières erreurs en temps réel, vous pouvez ajouter l’option -f.

tail -f /var/log/mysqld.log
  1. Lisez les messages du journal et identifiez la cause de l’erreur.

5.4 Que faire si le problème n’est toujours pas résolu

  • Consultez la documentation officielle La documentation officielle de MySQL contient des informations détaillées de dépannage par version. Documentation officielle de MySQL
  • Utilisez les forums d’assistance Recherchez des problèmes similaires sur les forums communautaires ou Stack Overflow pour trouver des solutions.
  • Consultez un expert Si vous ne pouvez pas résoudre le problème, consultez un administrateur système ou un expert MySQL.

6. FAQ

Lors de la gestion ou de la réinitialisation des mots de passe MySQL, vous pouvez rencontrer diverses questions ou problèmes. Dans cette section, nous anticiperons les questions courantes que les lecteurs peuvent avoir et expliquerons chaque solution clairement.

Q1 : Que faire si je ne trouve pas le mot de passe initial ?

A1 :
Si vous ne trouvez pas le mot de passe initial de MySQL, essayez les étapes suivantes.

  1. Vérifiez à nouveau le fichier journal
  • Sous Linux : /var/log/mysqld.log
  • Sous Windows : C:\ProgramData\MySQL\MySQL Server X.X\Logs\mysqld.log Le mot de passe initial est généralement enregistré dans le fichier journal avec le texte « temporary password ».
  1. Vérifiez l’écran d’installation Sous Windows, le programme d’installation de MySQL peut afficher le mot de passe initial. Vérifiez si vous avez enregistré une capture d’écran juste après l’installation.
  2. Envisagez de réinstaller Si vous ne trouvez toujours pas le mot de passe initial, désinstaller et réinstaller MySQL peut générer un nouveau mot de passe initial que vous pourrez utiliser.

Q2 : Pourquoi ne puis‑je pas me connecter même après avoir réinitialisé le mot de passe ?

A2 :
Si vous ne pouvez toujours pas vous connecter après avoir réinitialisé le mot de passe, vérifiez les points suivants :

  1. Vérifiez le nom d’utilisateur et l’hôte
  • Dans MySQL, la combinaison du nom d’utilisateur et de l’hôte est importante (par ex., 'root'@'localhost'). Si vous utilisez '%', l’accès est autorisé depuis tous les hôtes.
  • Commande pour vérifier la liste des utilisateurs : sql SELECT User, Host FROM mysql.user;
  1. Oublier de recharger les tables de privilèges Si vous ne rechargez pas les privilèges après avoir réinitialisé le mot de passe, le nouveau mot de passe ne prendra pas effet. Exécutez la commande suivante.
    FLUSH PRIVILEGES;
    
  1. Redémarrez le service MySQL Après la réinitialisation du mot de passe, redémarrez le service MySQL puis essayez de vous connecter à nouveau.
    sudo systemctl restart mysqld
    

Q3 : Est‑il possible de désactiver la politique de mot de passe ?

A3 :
Vous pouvez désactiver la politique de mot de passe, mais cela augmente le risque de sécurité, il faut donc y réfléchir attentivement. Vous pouvez désactiver le plugin validate_password en suivant les étapes ci‑dessous.

  1. Connectez‑vous à MySQL.
    mysql -u root -p
    
  1. Exécutez la commande pour désinstaller le plugin.
    UNINSTALL PLUGIN validate_password;
    
  1. Confirmez qu’il a été désactivé.
    SHOW PLUGINS;
    

Remarque :
Cela autorise les mots de passe faibles, donc surtout dans les environnements de production, renforcez d’autres mesures de sécurité à la place.

Q4 : Que faire si je rencontre une erreur lors de la réinitialisation du mot de passe ?

A4 :
Utilisez les étapes suivantes comme guide pour gérer les erreurs lors de la réinitialisation.

  1. Vérifiez le message d’erreur
  • Vérifiez le journal des erreurs pour examiner les messages détaillés. wp:list /wp:list

    • Sous Linux : /var/log/mysqld.log
    • Sous Windows : C:\ProgramData\MySQL\MySQL Server X.X\Logs\mysqld.log
  1. Corrigez-le en mode sans échec Si l’erreur persiste, démarrez MySQL en mode sans échec ( --skip-grant-tables ) et corrigez la configuration problématique.
  2. Supprimez et recréez l’utilisateur existant Si le problème est lié à l’utilisateur, le supprimer puis le recréer peut également être efficace.
    DROP USER 'root'@'localhost';
    CREATE USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
    

Q5 : Si le mot de passe est partagé avec d’autres administrateurs, le changer aura‑t‑il un impact ?

A5 :
S’il y a plusieurs administrateurs, changer le mot de passe peut avoir les impacts suivants.

  1. Portée de l’impact Si les systèmes ou scripts d’autres administrateurs utilisent l’ancien mot de passe, des erreurs de connexion se produiront.
  2. Notifier à l’avance Avant de changer le mot de passe, avertissez les autres administrateurs et demandez‑leur de mettre à jour les scripts ou les paramètres si nécessaire.
  3. Partage sécurisé après le changement Après le changement, assurez‑vous de disposer d’une méthode sécurisée pour partager le nouveau mot de passe (par ex., un outil de messagerie chiffré).

7. Résumé

Vérifier et réinitialiser les mots de passe MySQL est l’une des tâches essentielles que l’on ne peut pas éviter lorsqu’on gère une base de données. Dans cet article, nous avons couvert de manière exhaustive tout, depuis la façon de trouver le mot de passe initial, jusqu’à la réinitialisation d’un mot de passe oublié, en passant par la configuration de la politique de mot de passe et le dépannage — afin que les débutants puissent suivre en pratique.

Points clés de cet article

  1. Comment trouver le mot de passe initial
  • Sous Linux, vérifiez /var/log/mysqld.log ; sous Windows, consultez le fichier mysqld.log pour récupérer le mot de passe initial.
  1. Comment réinitialiser un mot de passe oublié
  • Nous avons présenté les procédures de réinitialisation pour Linux et Windows en utilisant le mode sans échec et l’option --init-file.
  1. Vérifier et configurer la politique de mot de passe
  • Nous avons expliqué comment utiliser le plugin validate_password pour configurer des politiques adaptées à votre environnement.
  1. Dépannage
  • Nous avons présenté des réponses concrètes aux erreurs courantes telles que les problèmes d’autorisations et les difficultés de démarrage du service.
  1. FAQ pour des éclaircissements supplémentaires
  • Nous avons fourni des réponses aux questions fréquentes et aux problèmes qui surviennent lors des vérifications et réinitialisations de mots de passe.

Recommandations pour les lecteurs

Pour exploiter MySQL en toute sécurité et efficacité, gardez les points suivants à l’esprit.

  • Gérer les mots de passe de manière approfondie Définissez des mots de passe forts et stockez‑les en toute sécurité. Changer régulièrement les mots de passe peut renforcer davantage la sécurité.
  • Exploiter le journal d’erreurs En cas de problème, prenez l’habitude de consulter le journal d’erreurs pour identifier la cause.
  • Se référer à la documentation officielle Les ressources officielles de MySQL fournissent les informations les plus récentes et spécifiques à chaque version. Utilisez‑les selon les besoins.

Prochaines étapes

En suivant les étapes de cet article, vous devriez avoir acquis des compétences pratiques pour la gestion de base des mots de passe MySQL et le dépannage. Comme prochaines étapes, envisagez les points suivants :

  • Renforcer davantage la sécurité Améliorez la sécurité globale de la base de données en configurant des pare‑feu et en utilisant des connexions SSL.
  • Revoir les opérations de sauvegarde Mettez en place un planning de sauvegarde régulier afin de vous préparer pleinement aux scénarios de perte de données.

Gérez MySQL correctement et assurez des opérations fluides et sans problème. Nous espérons que cet article vous sera utile tout au long du processus.