Recherche de site Web

Réinitialisation du mot de passe racine MySQL en 3 étapes simples


Avez-vous oublié le mot de passe root de votre serveur MySQL ? Pas de soucis. Voici comment le réinitialiser rapidement et facilement.

Si vous avez oublié le mot de passe de votre base de données MySQL, n'ayez crainte ! La réinitialisation du mot de passe root est un processus simple qui peut être accompli en trois étapes simples. Ainsi, que vous soyez un utilisateur débutant ou expérimenté de MySQL, je vais vous montrer comment reprendre le contrôle de votre serveur de base de données.

Ce guide présente deux techniques différentes pour réinitialiser le mot de passe de l'utilisateur root MySQL. Quel que soit le choix que vous effectuerez, vous obtiendrez le résultat souhaité.

De plus, l'instruction s'applique entièrement à la base de données MariaDB, une alternative populaire à MySQL, et, dans certains cas, fournit des fonctionnalités supplémentaires non disponibles dans MySQL. Vous pouvez lire notre guide détaillé sur le sujet ici.

Réinitialiser un mot de passe root MySQL : le moyen le plus rapide

Pour effectuer les étapes ci-dessous, vous devez disposer d'un compte d'utilisateur local sur le serveur sur lequel MySQL s'exécute et disposant des autorisations sudo pour exécuter des commandes privilégiées.

Étape 1 : Arrêter et démarrer le serveur MySQL sans mot de passe

Arrêtez le service MySQL.

sudo systemctl stop mysqld

Ensuite, comme indiqué ci-dessous, exécutez une instance de serveur MySQL temporaire.

sudo -u mysql mysqld --skip-grant-tables &

Laissez-moi vous expliquer. Lorsque le serveur est démarré avec l'option --skip-grant-tables, il ne lit pas les tables d'attribution et n'applique aucun contrôle d'accès. En d’autres termes, les utilisateurs peuvent y accéder sans mot de passe.

Vous pouvez désormais vous connecter au serveur MySQL en tant qu'utilisateur root, sans mot de passe requis.

mysql -u root

Étape 2 : Réinitialiser un mot de passe root MySQL

Rechargez d’abord les privilèges actuels.

FLUSH PRIVILEGES;

Ensuite, réinitialisez le mot de passe root de MySQL à l'aide de la requête suivante. Tout d’abord, bien sûr, remplacez « MyNewPassword » par celui requis.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';

Enfin, rechargez les privilèges une fois de plus et quittez.

FLUSH PRIVILEGES;
quit

Si vous souhaitez en savoir plus sur l’ajout d’utilisateurs à MySQL et leur accorder des privilèges, voici notre guide.

Étape 3 : Redémarrez et connectez-vous au serveur MySQL

Maintenant que nous avons modifié le mot de passe, vous devez arrêter le serveur MySQL temporairement en cours d'exécution en trouvant son numéro de processus et en y mettant fin. Vous pouvez facilement y parvenir avec la commande suivante :

ps auxw | grep '\-\-skip-grant-tables' | tail -n 1 | awk '{ print $2 }' | sudo xargs kill

Redémarrez ensuite le serveur MySQL et connectez-vous avec le nouveau mot de passe.

sudo systemctl start mysqld
mysql -u root -p

Félicitations! Le serveur MySQL est désormais sous votre contrôle.

Réinitialiser le mot de passe racine de MySQL via un fichier d'initialisation

Pour effectuer les étapes ci-dessous, vous devez disposer d'un compte d'utilisateur local sur le serveur sur lequel MySQL s'exécute et qui dispose des autorisations sudo pour exécuter des commandes privilégiées.

Étape 1 : passez à l'utilisateur du système MySQL et arrêtez le serveur MySQL

Pour terminer les étapes ci-dessous avec succès, vous devez basculer vers le compte d'utilisateur système qui exécute votre serveur MySQL. Il s'agit généralement du compte système avec le nom d'utilisateur mysql. Pour y accéder, exécutez ce qui suit :

sudo -u mysql /bin/bash

Vous pouvez utiliser la commande whoami pour vous assurer que vous travaillez avec le bon utilisateur.

Ensuite, arrêtez le serveur MySQL en transmettant à la commande kill le chemin complet du fichier PID contenant le numéro de processus avec lequel il a démarré. Si vous ne savez pas où se trouve ce fichier, vous pouvez le localiser rapidement en exécutant la commande suivante :

mysqld --print-defaults | tr " " "\n" | grep pid | tail -n 1

Enfin, arrêtez le serveur MySQL.

kill `cat /run/mysqld/mysqld.pid`

Étape 2 : Créer un fichier de réinitialisation de mot de passe MySQL

À l'aide de votre éditeur de texte préféré dans le répertoire /tmp, créez un fichier texte nommé « mysql-init.txt », avec une seule ligne contenant la requête d'attribution de mot de passe.

vim /tmp/<em>mysql-init.txt</em>

Insérez la ligne suivante, en veillant à remplacer le mot de passe par celui que vous souhaitez utiliser.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';

Enregistrez le fichier et quittez. 

Étape 3 : Démarrez le serveur MySQL

Démarrez le serveur MySQL comme indiqué ci-dessous, avec l'option --init-file définie sur le chemin complet du fichier que vous venez de créer.

mysqld --init-file=/tmp/mysql-init.txt &

C'est tout. Le mot de passe de l'utilisateur root MySQL a été modifié et vous pouvez désormais vous connecter en tant que root avec le mot de passe que vous avez spécifié dans le fichier ci-dessus.

mysql -u root -p

Vous pouvez maintenant supprimer en toute sécurité le fichier « /tmp/mysql-init.txt ». Vous n’en avez plus besoin.

Conclusion

Comme vous pouvez le constater, la réinitialisation du mot de passe root MySQL est un processus relativement simple qui peut être réalisé en trois étapes. Cependant, il est essentiel de noter que la réinitialisation du mot de passe root ne doit être effectuée qu'en dernier recours, car cela peut potentiellement exposer votre base de données à des risques de sécurité.

Par conséquent, c’est toujours une bonne idée de gérer soigneusement votre mot de passe et de le conserver en sécurité pour éviter de le réinitialiser à l’avenir. Vous pouvez trouver des informations supplémentaires dans la documentation officielle.

Si vous avez des questions ou des commentaires, n'hésitez pas à commenter.

Articles connexes: