MacOS通过Homebrew安装MariaDB后出现未知PUBLIC用户无法删除求助
MariaDB中'PUBLIC'角色的相关说明
1. 'PUBLIC'的本质
PUBLIC并非普通数据库用户,而是MariaDB 10.6及以上版本内置的公共角色。所有新建用户默认会自动继承该角色的权限,用于统一管控所有用户的基础权限集合。
你查询时看到的“主机为空”,实际对应记录是'PUBLIC'@'%'(允许从任意主机关联该角色),部分客户端可能会将%显示为空值。
2. 无法删除的原因
PUBLIC是MariaDB的系统内置角色,不属于可通过DROP USER命令删除的普通用户范畴,因此执行DROP USER 'PUBLIC';会触发ERROR 1396错误。
3. 权限管理方式
若需调整PUBLIC的权限,可通过角色权限命令操作,而非删除:
- 撤销
PUBLIC的全局权限:REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'PUBLIC'@'%'; FLUSH PRIVILEGES; - 移除特定用户对
PUBLIC角色的继承:REVOKE PUBLIC FROM '目标用户名'@'目标主机';
内容的提问来源于stack exchange,提问作者IllIIIllllIIllIIlIl
相关产品推荐
相关产品推荐

