mysql修改用户密码推荐使用alter user语句(5.7.6+),如alter user 'testuser'@'localhost' identified by 'newpass123!';旧版可用set password,但8.0+不推荐;root密码遗忘时需跳过权限表重置,并注意8.0+默认caching_sha2_password插件兼容性问题。

在 MySQL 中修改用户密码,主要取决于你使用的 MySQL 版本(5.7 与 8.0+ 差异较大),以及你当前是否拥有管理员权限。最常用且推荐的方式是使用 ALTER USER 语句,安全、标准、兼容性好。
使用 ALTER USER 修改密码(推荐,MySQL 5.7.6+)
这是官方推荐方式,适用于有 CREATE USER 或 UPDATE 权限的用户(如 root)。
- 登录 MySQL:`mysql -u root -p`
- 执行命令(以修改用户 'testuser'@'localhost' 为例):
ALTER USER 'testuser'@'localhost' IDENTIFIED BY 'NewPass123!'; - 立即生效,无需刷新权限;但若修改的是当前登录用户,下次登录需用新密码
使用 SET PASSWORD 修改密码(兼容旧版本)
适用于 MySQL 5.7 及更早版本,8.0 仍支持但已不推荐。
SHOPEX简灰服装商城整站源码下载。 安装方法:1.解压上传程序至网站根目录.. 访问:域名/bak.(用户名:admin 密码:123456)2.进入帝国备份王后,配置数据库数据库信息.选择-www.taomoban.net目录.还原数据库.3.修改FTP目录下的config/config.phpphp 数据库连接信息.4.登陆网站后台--清空缓存..5.删除bak文件夹 后台:shopadm
- 语法示例:
SET PASSWORD FOR 'testuser'@'localhost' = 'NewPass123!'; - 注意:MySQL 8.0+ 中该语句要求密码必须用
PASSWORD()函数加密(已弃用),或直接传明文(需开启老式认证插件),易出错,建议优先用ALTER USER
忘记 root 密码时的重置方法(Linux/macOS)
适用于无法登录、需跳过权限验证重置 root 密码的情况:
- 停止 MySQL 服务:
sudo systemctl stop mysqld(或mysqld_safe) - 以跳过权限表方式启动:
sudo mysqld_safe --skip-grant-tables --skip-networking & - 另开终端登录:
mysql -u root(无需密码) - 执行更新(MySQL 8.0+):
FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewRootPass123!'; - 重启正常 MySQL 服务
检查并确认用户认证插件(避免登录失败)
MySQL 8.0 默认使用 caching_sha2_password 插件,部分客户端不兼容,可能导致改密后无法登录:
- 查看用户插件:
SELECT user, host, plugin FROM mysql.user WHERE user='testuser'; - 如需兼容老客户端,可同时指定插件:
ALTER USER 'testuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPass123!';









