Comme le suggère le commentaire, cela peut être aussi simple qu'un "host=" oublié juste devant la chaîne localhost. Une autre chose à vérifier est que le serveur mysql en question est en fait configuré pour autoriser les connexions sur le socket au lieu d'utiliser le port 3306 qui est le port TCP par défaut.