当执行存储过程相关操作时,如果出现该错误,则往下看。
打开存储过程,会发现“CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost`”。
由于DEFINER的用户与当前用户不一致,导致操作无法执行。
解决方法:使用拥有该存储过程权限的用户导出sql脚本,修改内部的DEFINER为指定用户,重新导入即可。
建议:
- 在不同服务器直接保持用户名的同一,尽量用同一用户名,当然是为了以后一些工具备份的方便了,这样不需要自己去改工具导出的SQL脚本中的definer的信息
- 尽量不要用root用户, 因为你不可能在你用的每台服务器上都可以使用root用户的
- 如实在想用,可自己使用另一服务器上的统一用户名, 然后给那用户赋予至高无上的,与root相同的权限