Recherche de site Web

Comment réinitialiser le mot de passe root de MySQL ou MariaDB


Il y a quelques mois, j'avais installé une stack LAMP sur un serveur Ubuntu 18.04. Aujourd'hui, j'ai essayé de me connecter en tant qu'utilisateur root sur mon serveur de base de données, mais j'ai complètement oublié le mot de passe. Après quelques recherches sur le web et avoir parcouru le forum MySQL, j'ai réussi à réinitialiser le mot de passe de l'utilisateur root MySQL. Pour ceux qui se demandent comment faire, ce bref tutoriel explique les étapes pour réinitialiser le mot de passe root MySQL ou MariaDB sur les systèmes d'exploitation Linux et de type Unix.

Réinitialiser le mot de passe root de MySQL ou MariaDB

Tout d'abord, arrêtez le serveur de base de données.

Si vous utilisez MySQL, tapez la commande suivante et appuyez sur la touche ENTRÉE.

$ sudo systemctl stop mysql

Pour MariaDB :

$ sudo systemctl stop mariadb

Ensuite, redémarrez le serveur de base de données sans vérification des permissions en utilisant la commande suivante :

$ sudo mysqld_safe --skip-grant-tables &

Ici, l'option --skip-grant-tables vous permet de vous connecter sans mot de passe et avec tous les privilèges.

Si vous démarrez votre serveur avec cette option, elle active également l'option --skip-networking qui est utilisée pour empêcher les autres clients de se connecter au serveur de base de données.

Et, le symbole esperluette (&) est utilisé pour exécuter la commande en arrière-plan, afin que vous puissiez taper les autres commandes dans les étapes suivantes.

Veuillez noter que la commande ci-dessus est dangereuse et que votre serveur de base de données devient non sécurisé. Vous ne devez exécuter cette commande que pendant une courte période pour réinitialiser le mot de passe.

Ensuite, connectez-vous à votre serveur MySQL/MariaDB en tant qu'utilisateur root :

$ mysql

À l'invite mysql> ou MariaDB [(none)]>, exécutez la commande suivante pour réinitialiser le mot de passe de l'utilisateur root de la base de données :

UPDATE mysql.user SET Password=PASSWORD('ostechnix') WHERE User='root';

Remplacez ostechnix dans la commande ci-dessus par votre propre mot de passe.

Ensuite, tapez les commandes suivantes pour quitter la console mysql.

FLUSH PRIVILEGES;
exit

Enfin, arrêtez le serveur de base de données en cours d'exécution que vous avez démarré précédemment avec l'option --skip-grant-tables. Pour ce faire, exécutez :

$ sudo mysqladmin -u root -p shutdown

Il vous sera demandé de saisir le mot de passe de l'utilisateur root de mysql/mariadb que vous avez défini à l'étape précédente.

Enter password: 
[2]- Done sudo mysqld_safe --skip-grant-tables

Maintenant, démarrez normalement le service mysql/mariadb en utilisant la commande :

$ sudo systemctl start mysql

Pour MariaDB :

$ sudo systemctl start mariadb

Vérifiez si le mot de passe a réellement été changé en utilisant la commande suivante :

$ sudo mysql -u root -p

Et voilà pour le moment. J'espère que vous trouverez cela utile.