Vous avez perdu le mot de passe "root" de votre belle installation de MariaDB !
Note 2021 : Cela ne fonctionne plus avec les versions rĂ©centes de MariaDB car la table mysql.user n'est plus qu'une vue vers une structure plus complexe, il faut obligatoirement passer par un "init_file" pour re-crĂ©er un mot de passe "root". Ce fichier "init_file" peut ĂȘtre exĂ©cutĂ© au dĂ©marrage de MariaDB, avant le dĂ©marrage complet, et permet d'exĂ©cuter des commandes en passant outre Ă la vĂ©rification des droits. A ne pas laisser entre toutes les mains ... et Ă bien supprimer du fichier de paramĂ©trage aprĂšs usage !
Pas de panique la procĂ©dure suivante vous sortira de l'embarras (Ă condition de stopper votre base quelques instants ce qui peut ne pas ĂȘtre Ă©vident pour une base de production ... mais pour celles la vous avez soigneusement sauvegardĂ© les mots de passe dans un gestionnaire spĂ©cialisĂ©).
- Stopper MariaDB
- En root lancer lé commande suivante :
mysqld_safe --skip-grant-tables --skip-networking &
Ici aucun accĂšs ne sera possible aux commandes "classiques" "SET PASSWORD..." ou "ALTER USER ..." il faut mettre Ă jour directement la table "mysql.user" :
mysql -u root
UPDATE mysql.user SET authentication_string = PASSWORD('nouveau_mot_de_passe')
where user = 'root'
and host = 'localhost';
commit;
\q
Il suffira alors de stopper (gentiment) notre "mysqld_safe" avec la commande :
mysqladmin -u root shutdown
Puis de relancer MariaDB avec systemctl et se retrouver dans un Ă©tat normal.
Ceci fonctionne parfaitement avec un MariaDB 10.3