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






























