首先,我们需要说明一下该错误的原因。当 MySQL 5.7.6 及以上版本的 MySQL 重新配置过密码策略之后,密码字段的名称从“Password”更改为“authentication_string”。因此,如果您尝试使用“Password”字段修改或检索密码,则会发生这个问题。
下面是如何使用“authentication_string”字段从 MySQL 5.7.6 及更高版本中修改密码的步骤:
- 使用以下命令在 MySQL 中连接到您的帐户:
mysql -u username -p
其中,用户名是您的 MySQL 用户名,并提示输入密码。在这个示例中,我们将使用 root 用户。因此,您将键入:
mysql -u root -p
然后,输入密码并按“Enter”。
- 然后,我们需要在 MySQL 命令提示符下运行以下命令:
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
这里,“username”是要更改密码的 MySQL 用户名,“localhost”是 MySQL 主机名(在本地运行 MySQL 服务器的场景下),而“new_password”是要设置的新密码。
例如,如果我们想要为名为“john”的 MySQL 用户设置密码“12345678”,我们将运行以下命令:
ALTER USER 'john'@'localhost' IDENTIFIED BY '12345678';
如果您的电子邮件地址是您的 MySQL 用户名称,请改为使用电子邮件地址。
- 最后,在 MySQL 命令提示符下输入以下命令来刷新特权
FLUSH PRIVILEGES;
这样就完成了密码更改。您现在可以退出 MySQL 的命令提示符了。
示例1:为用户名为“dbuser”的用户设置密码为“newpass”:
mysql> ALTER USER 'dbuser'@'localhost' IDENTIFIED BY 'newpass';
示例2:为用户名为“testuser”的用户设置密码为“testpass”:
mysql> ALTER USER 'testuser'@'localhost' IDENTIFIED BY 'testpass';
希望以上解释能够帮助您解决“MySQL5.7.16修改密码提示ERROR1054(42S22):Unknowncolumn”password”in”fieldlist””的问题。