普通用户可通过ALTER USER或SET PASSWORD修改密码。使用ALTER USER需指定用户名和主机名,如ALTER USER 'jane'@'localhost' IDENTIFIED BY 'NewPass123!'; 使用SET PASSWORD则直接修改当前用户密码,MySQL 8.0前用SET PASSWORD = PASSWORD('新密码'),之后版本用SET PASSWORD = '新密码'。操作需具备相应权限,密码须符合策略要求,修改后建议重新登录验证。

在MySQL中,普通用户修改自己的密码可以通过ALTER USER语句或SET PASSWORD语句完成。只要具备正确的权限,操作并不复杂。以下是具体的操作方法和注意事项。
使用ALTER USER修改密码
这是MySQL 5.7及以上版本推荐的方式。登录到MySQL后,普通用户可以执行以下命令修改自己的密码:
ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码';例如,当前登录用户是jane,连接来自本地,可执行:
注意:用户名和主机名必须与mysql.user表中的记录完全一致。可通过SELECT USER(), CURRENT_USER();查看当前会话的用户信息。
使用SET PASSWORD修改密码
该方式兼容性较好,适用于老版本MySQL。语法如下:
此命令会修改当前登录用户的密码,无需指定用户名,适合普通用户自助修改。例如:
SET PASSWORD = PASSWORD('MyNewPass2024!');说明:在MySQL 8.0中,PASSWORD()函数已被弃用,应使用:
修改密码时的常见问题与建议
确保满足以下条件,避免操作失败:
- 用户必须拥有
UPDATE权限在mysql数据库上,或被授予SYSTEM_USER权限(MySQL 8.0+) - 新密码需符合当前密码策略强度要求(如长度、大小写、特殊字符等)
- 如果提示“Access denied”,可能是权限不足,需联系管理员协助
- 修改完成后建议退出并重新登录,验证密码是否生效
基本上就这些。只要登录成功,普通用户就能通过上述任一方式安全地更新密码,不复杂但容易忽略主机名匹配和密码策略限制。










