MySQL Error number: 4005; Symbol: ER_USER_REFERENCED_AS_DEFINER; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: 4005; Symbol: ER_USER_REFERENCED_AS_DEFINER; SQLSTATE: HY000

Message: User %s is referenced as a definer account in %s.

该错误指示用户使用MySQL定义时出现了问题。错误号4005,SQLSTATE HY000指出错误来自于用户被引用于DEFINER上。

该错误的详细错误信息为:ER_USER_REFERENCED_AS_DEFINER,translation: ‘The user is referenced as DEFINER in the tables.’

常见案例

解决方法就是把DEFINER指定到一个有正确权限的用户中去。这可以通过MySQL管理工具,例如PHPMyadmin或者 命令行工具,例如mysql使用如下语句解决:

ALTER DEFINER= user_name@host_name viewname;

其中,user_name和host_name分别代表有正确权限的用户名和主机名,viewname代表查询视图的名称。此外,也可以在MySQL管理工具中重新编辑视图的DEFINER属性,以便重新分配权限。

总之,可以通过重新编辑DEFINER属性,把它指定到有正确权限的用户中去,来解决ER_USER_REFERENCED_AS_DEFINER的错误。


数据运维技术 » MySQL Error number: 4005; Symbol: ER_USER_REFERENCED_AS_DEFINER; SQLSTATE: HY000 报错 故障修复 远程处理