第一种修改密码的方法是使用 UPDATE 语句更新 mysql 数据库中的 user 表。 执行完 UPDATE 语句后,还需要执行 FLUSH PRIVILEGES 语句从 mysql 数据库中的 grant 表中重新加载权限。 假设您要更改来自主机 localhost 连接的用户 dbadmin 的密码为 Db123654,则需要按步骤执行以下语句:
前提條件
首先登录MySQL。
1、选择 mysql 数据库:
USE mysql;
2、更新密碼:
UPDATE user SET password = PASSWORD('Db123654') WHERE user = 'dbadmin' AND host = 'localhost';
3、刷新權限
FLUSH PRIVILEGES;
注意
请注意,从 MySQL 5.7.6 开始,用户表使用列 authentication_string 来存储密码。并且,它删除了 password 列。因此,如果您使用 MySQL 5.7.6+,则必须修改 UPDATE 语句中的 authentication_string 列:
UPDATE user SET authentication_string = PASSWORD('Db123654') WHERE user = 'dbadmin' AND host = 'localhost';
请注意, PASSWORD() 函数根据纯文本计算哈希值。
第二种更改密码的方法是使用 SET PASSWORD 语句。 您可以使用 user@host 格式的用户帐户来更新密码。如果您需要更改其他帐户的密码,您的帐户至少需要有 UPDATE 权限。 通过使用该 SET PASSWORD 语句,您无需执行该 FLUSH PRIVILEGES 语句即可从授权表重新加载权限。
以下语句使用 SET PASSWORD 语句更改用户帐户 dbadmin 的密码:
SET PASSWORD FOR 'dbadmin'@'localhost' = PASSWORD('Db123654');
注意
请注意,从 5.7.6 版开始,您不需要在 SET PASSWORD 语句中使用 PASSWORD(),而是直接使用明文密码。 如下:
SET PASSWORD FOR 'dbadmin'@'localhost' = 'Db123654';
第三种更改用户帐户密码的方法是使用 ALTER USER 带有 IDENTIFIED BY 子句的语句。
以下 ALTER USER 语句将 dbadmin 用户的密码更改 为 Db123654 :
ALTER USER dbadmin@localhost IDENTIFIED BY 'Db123654';
如果您想重置 MySQL root 帐户的密码,则需要在不使用授权表验证的情况下强制 MySQL 数据库服务器停止并重新启动。
本文作者:澳门🇲🇴上班的IT人
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!