Méthode « SystemV »
Si jamais vous perdez le mot de passe root de MySQL, pas de panique, on peux le réinitialiser facilement en démarrant MySQL en mode « safe ». On pourra se connecter en root sans mot de passe, ce qui nous permettra de la changer facilement (vu que l’on est root) dans la table «user».
On commence par arrêter le démon mysql:
etc/init.d/mysql stop
Maintenant on va relancer le MySQL en mode « safe » (mysqld_safe) sans charger la table des droits (–skip-grant-tables), le tout en arrière plan:
mysqld_safe --skip-grant-tables &
On va pouvoir maintenant se connecter en tant que root et sélectionner la base de données « mysql » :
mysql -u root mysql
Ici, on va modifier la table user (pour lister les tables faire « show tables ; ») pour changer le mot de passe de root:
update user set password=PASSWORD("NOUVEAU_MDP") where User='root';
Puis on recharge les droits:
flush privileges;
quit
Il ne reste plus qu’a redémarrer MySQL en normal:
/etc/init.d/mysql start
Voila c’est terminé, votre nouveau mot de passe est fonctionnel.
Méthode Systemd
Systemd gère le lancement des services sous Linux d’une façon differente que SystemV.
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl restart mariadb
Ce mode permet une connexion à root sans demande de mot de passe.
Il faut maintenant réinitialiser le mot de passe, pour cela nous passons par la commande:
mysql_secure_installation
Une fois que cela est fait, nous relancons le service avec le bon mode:
vous reste plus qu’à redémarrer le service MySQL / MariaDB :
systemctl unset-environment MYSQLD_OPTS
systemctl restart mariadb