MySQL中的错误1449 - 替代解决方案?

时间:2012-07-19 17:47:15

标签: mysql

最近,我删除了分配给我前任老板的MySQL用户帐户。然后,一些数据库函数,如删除他所创建的表中的记录不起作用,给出以下错误:

#1449 - There is no '*username*'@'localhost' registered

现在,我添加了一个具有相同名称(和差异密码)的新用户,它可以正常工作,没有错误。但是,有没有办法解决这个没有占位符用户帐户?

2 个答案:

答案 0 :(得分:5)

尝试更换功能的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继承它们。

试一试!!!

答案 1 :(得分:2)

我必须删除并重新添加受影响表格的triggers。 (我用phpMyAdmin来做这个)。