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

标签 mysql

最近,我在 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/

相关文章:

mysql - 如何从命令行在我的 MySQL 表中插入一行数据?

php - 如何使用 foreach 从数据库 mysql 中选择行?

java - Spring data jpa LIKE 查询不能在末尾使用空格吗?

php - 在 mysql 中存储回历日期的最佳方式?

mysql - Datanucleus JDO 设置字段为空

mysql - 案例陈述失败

sql - 将多行合并为一个空格分隔的字符串

mysql - 如何查找按日期时间排序的 mySQL 表中的最后一个值?

mysql - 为什么我的数据源在 LoopBack 4 中没有从 'memory db' 更改为 MySQL?

php - magento 建立多个数据库连接而不丢失数组值