Lorsque nous installons MySQL sur Windows, nous spécifions généralement le mot de passe de l'utilisateur root. Cela permet de sécuriser le serveur MySQL. Supposons que vous ayez rejoint une nouvelle organisation et que la direction de cette organisation envisage de migrer certaines bases de données MySQL vers SQL Server. Pour ce faire, vous avez besoin des informations d'identification de l'utilisateur root, mais l'organisation n'a pas conservé le mot de passe. Dans ce scénario, nous devons réinitialiser le mot de passe de l'utilisateur root.
Dans cet article, nous allons apprendre comment réinitialiser le mot de passe root dans MySQL Server sous Windows 10. J'ai préparé un environnement de démonstration sur mon poste de travail pour la démonstration, et les détails sont expliqués dans la section suivante.
S configurer l'environnement Windows
Nous allons apprendre les méthodes pour réinitialiser les mots de passe root dans un environnement Windows. Pour la démonstration, j'ai créé une machine virtuelle et y ai installé Windows 10 et MySQL Server. L'installation du serveur MySQL a été effectuée à l'aide de l'assistant d'installation de MySQL. La configuration de MySQL est la suivante :
- Version MySQL : 8.0.23 (Serveur de communauté MySQL)
- Répertoire d'accueil MySQL : C:\MySQL_Home\
- Emplacement du répertoire de données : C:\MySQL_Data_Directory\
- Emplacement du fichier d'initialisation : C:\MySQL_Home\mon.ini
Vous pouvez afficher les détails ci-dessus à partir de MySQL Workbench. Ouvrez MySQL Workbench et connectez-vous à MySQL Server ? Cliquez sur État du serveur depuis le volet Navigateur. Voir l'image suivante :
Vous pouvez également utiliser le mysqladmin commande pour afficher les détails du serveur MySQL. Le mysqladmin La commande est utilisée pour effectuer diverses activités administratives, telles que la création et la suppression de la base de données, l'affichage de l'état du serveur, les détails de configuration, etc. Vous pouvez lire 4.5.2 mysqladmin — Un programme d'administration de serveur MySQL pour en savoir plus sur mysqladmin commande.
Exécutez la requête suivante pour renseigner l'état du serveur MySQL.
C:\MySQL_Home\bin>mysqladmin -u root -p version
Enter password: **************
Étapes pour réinitialiser le mot de passe de l'utilisateur root :
- Créez un fichier d'initialisation avec la commande ALTER USER.
- Arrêtez les services MySQL.
- Démarrez les services à l'aide de mysqld et spécifiez le fichier contenant une commande ALTER USER.
- Connectez-vous à MySQL Workbench et réinitialisez le mot de passe root.
- Redémarrez le service.
Voyons maintenant comment réinitialiser le mot de passe root.
Étape 1 :Créer un fichier d'initialisation MySQL.
Tout d'abord, créons un fichier texte avec une requête qui est utilisée pour changer le mot de passe. Pour changer le mot de passe, nous utiliserons la commande ALTER USER suivante.
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567';
Enregistrez le fichier à l'emplacement approprié.
Étape 2 :Arrêtez les services MySQL.
Pour changer le mot de passe, nous devons arrêter les services MySQL. Pour arrêter les services MySQL, ouvrez le Panneau de configuration ? Ouvrez les outils d'administration ? Ouvrez Services ? Localisez MySQL Service de la liste ? Faites un clic droit sur MySQL et sélectionnez Arrêter .
Vous pouvez également exécuter la commande PowerShell suivante pour arrêter MySQL services.
PS C:\> net stop MySQL;
Étape 3 :Démarrez les services à l'aide du fichier d'initialisation.
Nous utilisons le mysqld commande pour démarrer le service MySQL. Le mysqld est un programme monothread. Il dispose de diverses options de configuration qui peuvent être spécifiées au démarrage du serveur MySQL. Vous pouvez afficher la liste des options en exécutant la commande suivante.
C:\>C:\MySQL_Home\bin\mysqld --verbose --help
Nous allons utiliser le fichier – -init-file option dans mysqld commande. Le – -init-file L'option lit la commande à partir du fichier spécifié dans l'option. Si vous avez installé le serveur MySQL à l'aide de l'assistant d'installation de MySQL, comme moi, vous devez spécifier les – -defaults-files . Dans le – – fichier par défaut option et l'emplacement du fichier de configuration my.ini. J'ai créé un fichier nommé ResetRootPassword.txt dans le D:\PasswordFile annuaire. Le mysqld commande avec une option est la suivante :
C:\>C:\MySQL_Home\bin\mysqld --defaults-file = "C:\MySQL_Home\my.ini"
--init-file="D:\PasswordFile\ResetRootPassword.txt"
Étape 4 :Connectez-vous à MySQL et réinitialisez le mot de passe.
Maintenant, connectons-nous à MySQL en utilisant MySQL Workbench. Ouvrir l'atelier MySQL ? Connectez-vous en utilisant l'utilisateur root.
Spécifiez le nouveau mot de passe et connectez-vous à MySQL.
Une fois connecté, exécutez la commande suivante pour réinitialiser le mot de passe.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123';
Une fois le mot de passe réinitialisé, fermez le workbench MySQL, tuez le service mysqld en cliquant sur Ctrl+C commande.
Une fois les services arrêtés, supprimez le ResetRootPassword.txt fichier.
Étape 5 :Redémarrez le service MySQL.
Maintenant, redémarrez le service MySQL à partir de services.msc. Ouvrir le panneau de configuration ? Ouvrir les outils d'administration ? Ouvrez Services ? Localisez MySQL un service ? Faites un clic droit sur le service MySQL et sélectionnez Démarrer .
Maintenant, connectez-vous au serveur MySQL en utilisant l'utilisateur root comme expliqué dans la section précédente.
Comme vous pouvez le voir dans la capture d'écran suivante, nous sommes connectés au serveur MySQL.
Résumé
En tant qu'administrateurs de base de données, il est de notre responsabilité de garder une trace des mots de passe importants, en particulier des mots de passe de superutilisateur. Si le mot de passe est perdu et irrécupérable, cela peut être très stressant. Dans cet article, j'ai couvert le processus étape par étape de réinitialisation du mot de passe de l'utilisateur root. Cet article peut être utile pour récupérer le mot de passe root de MySQL sous Windows.