Error number: MY-010968; Symbol: ER_UNKNOWN_AUTH_ID_IN_MANDATORY_ROLE; SQLSTATE: HY000
Message: Can’t set mandatory_role: There’s no such authorization ID %s@%s.
错误说明:
MySQL错误MY-010968属于ER_UNKNOWN_AUTH_ID_IN_MANDATORY_ROLE类型,此错误表明MySQL未知授权标识符位于强制性角色中。意思是,在强制性角色中包含了一个未知的用户名或未知的用户组。
这个错误的常见情况是引入MySQL的新用户或组对象,但仍试图使用已经设置的强制性角色,同时仍不让MySQL角色中的用户或组访问MySQL允许的权限。
解决方法:
解决这个错误的最佳方法是仔细检查MySQL服务器中的所有强制性角色,确保其中的所有用户都是可以访问MySQL允许权限的用户,或者在角色中添加新用户或新组对象。如果用户名无法正确添加,可以使用GRANT命令暂时更改MySQL用户名或组的权限并重新添加它们到角色中。
此外,可以通过检查MySQL服务器中的用户和组来确定未知用户/组的真实名称,并确定该用户/组位于哪个角色中,以便重新检查它们是否具有访问MySQL允许权限的所需权限。
最后,还可以使用使用SHOWROLES SQL语句查看拥有强制性角色的用户及其名称列表,以确保角色中的所有用户都具有访问MySQL允许权限的所需权限,从而避免发生此错误。