MySQL 更改用户密码

MySQL 更改用户密码

MySQL用户是一个记录,包含登录信息、帐户权限和用于访问和管理数据库的MySQL帐户的主机信息。登录信息包括用户名和密码。在某些情况下,需要在MySQL数据库中更改用户密码。

要更改任何用户帐户的密码,您必须记住以下信息:

  • 要更改的用户帐户的详细信息。
  • 要更改密码的用户使用的应用程序。如果在不更改应用程序连接字符串的情况下重置用户帐户密码,则应用程序无法与数据库服务器连接。

MySQL允许我们以三种不同的方式更改用户帐户密码,如下所示:

  1. UPDATE语句
  2. SET PASSWORD语句
  3. ALTER USER语句

让我们详细看看如何使用上述语句在MySQL中更改用户帐户密码:

使用UPDATE语句更改用户帐户密码

这个语句是更改MySQL数据库的用户表中的用户密码的第一种方法。在执行UPDATE语句后,您必须使用 FLUSH PRIVILEGE 语句重新加载MySQL数据库的授权表的权限。

假设您想要更改或更新从本地主机使用密码 peter 连接的用户的密码 jtp12345 ,执行以下SQL语句:

mysql> USE mysql;

mysql> UPDATE user SET password = PASSWORD('jtp12345') WHERE user = 'peter' AND host = 'localhost';

mysql> FLUSH PRIVILEGES;

如果您正在使用 MySQL版本 5.7.6 或更高版本,则上述语句将无法工作。这是因为MySQL用户表包含仅存储密码的 authentication_string 列。现在,较高版本在UPDATE语句中包含了authentication_string列,如以下语句所示。

mysql> USE mysql;

mysql> UPDATE user SET authentication_string = PASSWORD('jtp12345') WHERE user = 'peter' AND host = 'localhost';

mysql> FLUSH PRIVILEGES;

使用SET PASSWORD语句更改用户账号密码

SET PASSWORD语句是在MySQL数据库中更改用户密码的第二种方法。如果要更改其他账号密码,必须具有UPDATE权限。SET PASSWORD语句使用的是用户账号的 username@localhost 格式。

不需要使用FLUSH PRIVILEGES语句从MySQL数据库的授权表中重新加载权限。我们可以使用以下语句通过使用SET PASSWORD语句来更改用户账号peter的密码:

mysql> SET PASSWORD FOR 'peter'@'localhost' = PASSWORD('jtp12345');

如果您使用的是MySQL版本5.7.6或更高版本,则上述语句已被弃用,并且在将来的版本中将不起作用。相反,我们需要使用以下语句:

mysql> SET PASSWORD FOR 'peter'@'localhost' = jtp12345;

更改用户帐户密码使用ALTER USER语句

ALTER USER语句是在MySQL数据库中更改用户密码的第三种方式。MySQL使用带有IDENTIFIED BY子句的ALTER USER语句来更改用户帐户的密码。我们需要使用以下语法来更改用户 peter 的密码为 jtp123

mysql> ALTER USER peter@localhost IDENTIFIED BY 'jtp123';

有时候,您需要重置MySQL的 root 账户密码。在这种情况下,您可以强制停止和重新启动MySQL数据库服务器而无需使用授权表验证。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程