Maison >base de données >tutoriel mysql >Erreur MySQL 1449 : Comment résoudre le problème « L'utilisateur du définisseur n'existe pas » ?
Introduction
Lorsqu'ils travaillent avec MySQL, les utilisateurs peuvent rencontrer un message d'erreur indiquant que l'utilisateur définisseur d'un objet de base de données n'existe pas. Cette erreur, code 1449, se produit généralement lors de l'importation d'objets à partir d'une autre base de données ou d'un serveur sur lequel l'utilisateur définisseur d'origine n'existe plus.
Causes
L'utilisateur définisseur est l'utilisateur sous lequel une vue de base de données, un déclencheur ou une procédure a été créé. Lorsque l'objet de base de données est importé vers un autre système, l'utilisateur définisseur doit également exister sur le système de destination. Si l'utilisateur définisseur n'existe pas, MySQL générera l'erreur 1449.
Solutions
1. Modifier le définisseur
Pour résoudre ce problème, vous pouvez remplacer l'utilisateur du définisseur par un utilisateur qui existe sur le système de destination. Cela peut être fait pendant le processus d'importation en supprimant l'instruction DEFINER du dump.
Si l'objet a déjà été importé, vous pouvez modifier le définisseur ultérieurement en suivant les étapes suivantes :
Pour les vues :
SELECT CONCAT("ALTER DEFINER=youruser@host VIEW ", table_name, " AS ", view_definition, ";") FROM information_schema.views WHERE table_schema='your-database-name';
Pour les procédures stockées :
UPDATE `mysql`.`proc` p SET definer = 'user@%' WHERE definer='root@%';
2. Créer l'utilisateur manquant
Si l'utilisateur définisseur n'existe pas sur le système de destination, vous pouvez le créer à l'aide de l'instruction GRANT. Remplacez "someuser" par le nom de l'utilisateur manquant :
GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password'; FLUSH PRIVILEGES;
Considérations supplémentaires
En suivant ces étapes, vous pouvez résoudre l'erreur 1449 et importer ou gérer avec succès la base de données. objets qui ont des utilisateurs définisseurs.
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!