Je vous invite vivement à vérifier sur vos serveurs hébergeant des bases MySQL le contenu de la table user :

SELECT host,user FROM mysql.user;

Si vous voyez qu'il n'y a pas d'utilisateur associé à localhost et à localhost.localdomain (connexion anonyme ), je vous invite à effacer les deux lignes :

DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;

Pensez à mettre un mot de passe à l'utilisateur root :

SET PASSWORD FOR root@'localhost'=PASSWORD('votre_mdp');
SET PASSWORD FOR root@'%'=PASSWORD('votre_mdp');

L'installation de MySQL au travers de paquets sous Linux ne permet pas - dans la plupart des cas - de spécifier le mot de passe du compte root !!! Sous Windows, lors de la configuration de l'instance après la copie des paquets, ne cochez pas la création de compte anonyme.