最近,我删除了分配给我前任老板的MySQL用户帐户。然后,一些数据库函数,如删除他所创建的表中的记录不起作用,给出以下错误:
#1449 - There is no '*username*'@'localhost' registered
现在,我添加了一个具有相同名称(和差异密码)的新用户,它可以正常工作,没有错误。但是,有没有办法解决这个没有占位符用户帐户?
答案 0 :(得分:5)
尝试更换功能的DEFINER
首先以root@localhost
然后,将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
继承它们。
试一试!!!
答案 1 :(得分:2)
我必须删除并重新添加受影响表格的triggers。 (我用phpMyAdmin来做这个)。