Maison >base de données >tutoriel mysql >Erreur MySQL 1449 : Comment corriger « L'utilisateur spécifié comme définisseur n'existe pas » ?

Erreur MySQL 1449 : Comment corriger « L'utilisateur spécifié comme définisseur n'existe pas » ?

DDD
DDDoriginal
2024-12-03 17:09:18951parcourir

MySQL Error 1449: How to Fix

Erreur MySQL 1449 : l'utilisateur spécifié comme définisseur

L'erreur MySQL 1449, "L'utilisateur spécifié comme définisseur ("web2vi" @'%') n'existe pas", indique que l'utilisateur qui a créé un objet de base de données (tel qu'une vue, un déclencheur ou une procédure) n'existe plus. dans la base de données. Cela se produit généralement lors de l'exportation et de l'importation d'objets de base de données entre différentes bases de données ou serveurs.

Résolution de l'erreur

Il existe deux solutions possibles à cette erreur :

1. Modifiez le DEFINER

  • Pour les vues : Créez des instructions ALTER pour mettre à jour les définitions de vue, en supprimant toutes les instructions DEFINER.
  • Pour les procédures stockées : Utilisez une instruction UPDATE pour modifier le définisseur de la procédure stockée. Cependant, cela affectera toutes les bases de données du serveur.

2. Créer l'utilisateur manquant

  • Créez l'utilisateur manquant avec les mêmes privilèges que l'utilisateur d'origine qui a créé l'objet.
  • Accordez les autorisations nécessaires au nouvel utilisateur.
  • Utilisez la commande FLUSH PRIVILEGES pour actualiser les autorisations cache.

Exemple d'utilisation de l'option 2

Si l'utilisateur manquant est "root", utilisez les commandes suivantes :

GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;

Alternativement, pour MariaDB :

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;

Après avoir créé l'utilisateur manquant, l'erreur ne devrait plus apparaître lors de l'exécution la requête.

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