MySQL

当执行存储过程相关操作时,如果出现该错误,则往下看。

打开存储过程,会发现“CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`”。

由于DEFINER的用户与当前用户不一致,导致操作无法执行。

解决方法:使用拥有该存储过程权限的用户导出sql脚本,修改内部的DEFINER为指定用户,重新导入即可。

建议:

  • 在不同服务器直接保持用户名的同一,尽量用同一用户名,当然是为了以后一些工具备份的方便了,这样不需要自己去改工具导出的SQL脚本中的definer的信息 
  • 尽量不要用root用户, 因为你不可能在你用的每台服务器上都可以使用root用户的 
  • 如实在想用,可自己使用另一服务器上的统一用户名, 然后给那用户赋予至高无上的,与root相同的权限
原文地址:https://www.cnblogs.com/kangping/p/8266752.html