2

最近,我删除了分配给我前任老板的 MySQL 用户帐户。然后,某些数据库功能(例如从他创建的表中删除记录)不起作用,并出现以下错误:

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

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

4

2 回答 2

5

尝试替换函数的 DEFINER

首先登录到mysqlroot@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继承它们。

试试看 !!!

于 2012-07-19T18:31:55.210 回答
2

我必须删除并重新添加受影响表的触发器。(我使用 phpMyAdmin 来执行此操作)。

于 2012-08-29T17:35:00.620 回答