Error number: MY-013502; Symbol: ER_WARN_AUTH_ID_WITH_SYSTEM_USER_PRIV_IN_MANDATORY_ROLES; SQLSTATE: HY000
Message: Cannot set mandatory_roles: AuthId `%s`@`%s` has ‘%s’ privilege. AuthId(s) set in the mandatory_roles are ignored.
MY-013502; ER_WARN_AUTH_ID_WITH_SYSTEM_USER_PRIV_IN_MANDATORY_ROLES; HY000是MySQL中产生的一个错误,它指出一个用户拥有被认为不安全的权限,或者一个权限分配的用户的角色组中的某些用户有基于系统用户的特权。
错误说明
MY-013502; ER_WARN_AUTH_ID_WITH_SYSTEM_USER_PRIV_IN_MANDATORY_ROLES; HY000这个错误代表MySQL系统发现一个用户有一些具有潜在安全隐患的特权。该用户有权利安装等权限,mysql表示强烈不推荐这么做,因为这些特权可能导致安全问题,因此要求必须取消该用户的这些权限。
常见化例
这个错误最常见的情况是当MySQL检测到一个用户被授予具有针对体系结构或公共结构潜在安全问题的权限时,它会出现这个错误。这种情况最多发生在MySQL检测到某个结构用于具有管理控制权限的用户或用户部分。
解决方法
这个错误可以通过取消用户的授权特权来解决。如果某个用户必须拥有这些特殊权限,可以尝试将其移动到一个新的权限组或创建一个新的MySQL服务器帐号以更精确地控制权限行为。
另外,不推荐将MySQL账号设置为系统账号,因为它有可能给MySQL系统带来麻烦。如果一个MySQL服务器账户被设置为系统账户,MySQL很可能会发出错误,因此应该尽可能避免将MySQL服务器账户设置为系统账户。