最近,我在 MySQL 中删除了分配给我前任老板的一个用户帐户。然后,一些数据库功能,例如从他创建的表中删除记录,就无法正常工作,出现以下错误:
#1449 - There is no '*username*'@'localhost' registered
现在,我添加了一个具有相同名称(和不同密码)的新用户,它工作正常,没有错误。但是,有没有办法在没有占位符用户帐户的情况下解决这个问题?
最佳答案
尝试替换函数的DEFINER
首先以root@localhost
登录mysql
然后,将 root@localhost
替换为 DEFINER
UPDATE mysql.proc SET definer='root@localhost'
WHERE definer = '*username*@localhost';
事实上,你可以这样看所有的DEFINER:
SELECT COUNT(1) DefinerCount,definer,type
FROM mysql.proc GROUP BY definer,type;
这将显示每个用户拥有多少函数和程序。如果报告的任何其他 DEFINER 不再存在或无效,您可以让 root@localhost
继承它们。
试一试!!!
关于mysql - MySQL 中的错误 1449 - 替代解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566481/