Maison >base de données >tutoriel mysql >Comment réparer l'ERREUR MySQL 1396 (HY000) lors de la recréation d'un utilisateur supprimé ?

Comment réparer l'ERREUR MySQL 1396 (HY000) lors de la recréation d'un utilisateur supprimé ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-11 00:48:13287parcourir

How to Fix MySQL ERROR 1396 (HY000) When Recreating a Deleted User?

Recréation d'utilisateurs MySQL supprimés : résolution de l'ERREUR 1396 (HY000)

Lorsqu'ils tentent de recréer un utilisateur dans MySQL, les utilisateurs peuvent être confrontés au message « ERREUR 1396 (HY000) : problème d'échec de l'opération CREATE USER. Cela se produit malgré les privilèges administratifs et une configuration appropriée.

Pour comprendre et résoudre ce problème, il est essentiel d'approfondir le scénario du problème. Le problème survient lorsqu'un utilisateur (par exemple, « jack ») est supprimé de la table « user » et que des tentatives sont faites pour le recréer. Cependant, l'opération échoue, suggérant une corruption ou une incohérence au sein de la base de données des utilisateurs.

Pour remédier à ce problème, une solution de contournement en trois étapes a été identifiée :

  1. Abandonner l'utilisateur existant : En supposant que l'utilisateur existe toujours, supprimez-le de la table 'user' en utilisant "DROP USER" commande.
  2. Flush Privileges : Suite à la suppression de l'utilisateur, il est nécessaire de vider les privilèges MySQL à l'aide de la commande "FLUSH PRIVILEGES". Cela efface toutes les informations mises en cache concernant les autorisations des utilisateurs et garantit que la base de données dispose d'un enregistrement à jour des comptes d'utilisateurs.
  3. Créez l'utilisateur : Maintenant que l'utilisateur existant a été supprimé et les privilèges ont été vidés, recréez l'utilisateur à l'aide de la commande "CREATE USER" avec le nom d'utilisateur, l'hôte et le mot de passe appropriés.

Par exemple, pour recréez l'utilisateur 'jack' avec le mot de passe 'test123' :

drop user jack@localhost;
flush privileges;
create user jack@localhost identified by 'test123'

Cette solution de contournement supprime efficacement l'enregistrement corrompu ou incohérent de la table 'user' et permet de recréer avec succès l'utilisateur souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn