mysql_secure_installation et problèmes d’accès à l’utilisateur ‘root’

Petit billet en passant : lors de l’installation sur ma machine Linux de MySQL, je me suis un heurté à un problème lors de l’exécution de

mysql_secure_installation # Notez l'absence de *sudo* devant!

Puisque le bougre me demande le mot de passe pour l’utilisateur ‘root’… Que je n’ai jamais défini.

Deux choses :

1- Utiliser sudo devant mysql_secure_installation. C’est couillon, mais ça permet de lancer l’installation. Mais ça ne fait pas tout.

2- Ceci fait, malheureusement, vous n’avez toujours pas votre accès classique login/mot de passe à MySQL. Ce qui est normal, puisque sur les versions récentes, MySQL se sert d’un autre type d’authentification (par socket), ce qui fait que vous pouvez vous logguer en root sans mot de passe, via votre utilisateur et ses droits associés.
Notez que ceci est valable pour root mais pas pour les autres utilisateurs (sauf si vous en décidez ainsi, mais c’est pas le sujet du jour).
Pour revenir à une authentification par login/mot de passe pour root, voici la marche à suivre :

sudo mysql    # Lance MySQL en root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'nouveau mot de passe pour root';
FLUSH PRIVILEGES;
COMMIT;    # Ne fait pas de mal
exit
sudo service mysql restart

Vous devriez maintenant pouvoir vous logguer en root comme au temps jadis via :

mysql -u root -p

Ewalaaaa!

Leave a Reply

Your email address will not be published. Required fields are marked *