mysql error: The user specified as a definer ('mysqladmin'@'localhost') does not exist

来源:互联网 发布:龙珠gt战斗力官方数据 编辑:程序博客网 时间:2024/05/17 01:56

解决方案:

1. SELECT definer,type FROM mysql.proc GROUP BY definer,type;

2.UPDATE mysql.proc SET definer='root@localhost' WHERE definer = 'mysqladmin@localhost';

3. Restart database.

PS: somthing about processdure

1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 
2.当对数据库进行复杂操作时(如对多个表进行 Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。这些操作,如果用程序来完成,就变成了一条条的 SQL 语句,可能要多次连接数据库。而换成存储,只需要连接一次数据库就可以了。 

3.存储过程可以重复使用,可减少数据库开发人员的工作量。 

4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权。

0 0
原创粉丝点击