Lorsque l'erreur suivante s'affiche :
Found wrong password for user: 'some_user@some_host'; Ignoring user
Cela signifie que lorsque mysqld
a été démarré, ou qu'il a recharger les tables de permissions, il a trouvé un entrée dans la table user
avec un mot de passe invalide. Par conséquent, l'entrée est purement et simplement ignorée par le système de droits.
Quelques situations et leur solution :
- Vous avez lancé une nouvelle version de
mysqld
avec une vieille table user
. Vous pouvez le vérifier en exécutant la commande mysqlshow mysql user
pour voir si le mot de passe contient moins de 16 caractères. Dans ce cas, corrigez le problème avec le script scripts/add_long_password
.
- L'utilisateur a un ancien mot de passe de 8 caractères, et vous n'avez pas démarré avec l'option
--old-protocol
. Modifiez l'entrée de l'utilisateur dans la table user
en lui attribuant un nouveau mot de passe, ou redémarrez le serveur avec l'option --old-protocol
.
- Vous avez spécifié un mot de passe dans la table
user
sans utiliser la fonction PASSWORD()
. Utilisez le client mysql
pour modifier l'entrée de l'utilisateur dans la table user
, et attribuez lui un nouveau mot de passe. Assurez vous que vous utilisez bien la fonction PASSWORD()
:
mysql> update user set password=PASSWORD('your password')
where user='XXX';