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