MySQL 修改用户密码的方法有多种,以下是几种常见的方法:
SET PASSWORD
语句如果你有足够的权限(如 root 用户),可以使用 SET PASSWORD
语句来修改用户密码。例如,将用户名为 myuser
的密码修改为 newpassword
,可以执行以下命令:
SET PASSWORD FOR 'myuser'@'localhost' = PASSWORD('newpassword');
注意:PASSWORD()
函数会对密码进行加密处理。
ALTER USER
语句从 MySQL 5.7.6 开始,可以使用 ALTER USER
语句来修改用户密码。例如,将用户名为 myuser
的密码修改为 newpassword
,可以执行以下命令:
ALTER USER 'myuser'@'localhost' IDENTIFIED BY 'newpassword';
mysql.user
表如果你有足够的权限,也可以直接更新 mysql.user
表来修改用户密码。但这种方法不推荐,因为它绕过了 MySQL 的密码策略和加密机制。例如,将用户名为 myuser
的密码修改为 newpassword
,可以执行以下命令:
UPDATE mysql.user SET authentication_string = PASSWORD('newpassword') WHERE User = 'myuser' AND Host = 'localhost';
FLUSH PRIVILEGES;
注意:修改密码后需要执行 FLUSH PRIVILEGES;
命令使更改生效。
这些方法适用于需要修改 MySQL 用户密码的各种场景,例如:
caching_sha2_password
作为身份验证插件,而不是旧的 mysql_native_password
。如果你的客户端不支持新的加密方式,可能会遇到连接问题。你可以通过修改用户的身份验证插件来解决这个问题,例如:ALTER USER 'myuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
领取专属 10元无门槛券
手把手带您无忧上云