You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB非root权限用户修改自身密码需配置何种权限?

在MariaDB中让受限用户仅修改自身密码的权限配置

当受限用户执行语句:

ALTER USER CURRENT_USER() IDENTIFIED BY 'newpassword';

出现#1227 access denied; you need (at least one of) the CREATE USER privilege(s) for this operation错误时,无需授予全局CREATE USER权限,只需配置最小权限即可实现用户仅修改自身密码的需求。

具体权限配置步骤

  1. 使用拥有全局权限的用户(如root)登录MariaDB,执行以下SQL(替换'your_user'@'your_host'为目标用户的用户名和主机地址):
GRANT UPDATE (Password) ON mysql.user TO 'your_user'@'your_host';
FLUSH PRIVILEGES;

该语句仅授予目标用户对mysql.user表中自身记录的Password列的更新权限,不会赋予任何其他用户管理或创建权限。

  1. 权限配置完成后,受限用户可通过以下两种方式修改自身密码:
    • 推荐方式:使用SET PASSWORD语句(无需额外权限):
      SET PASSWORD = 'newpassword';
      
    • 原ALTER USER方式:此时执行原语句已可正常生效:
      ALTER USER CURRENT_USER() IDENTIFIED BY 'newpassword';
      

权限安全性说明

这种配置严格遵循最小权限原则:用户仅能修改自身的密码字段,无法创建新用户、修改其他用户的密码或任何其他用户属性,完全符合需求。

内容的提问来源于stack exchange,提问作者Dolis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:33:15