mysql 8.0.24 root密码重置不工作[重复]

dly7yett  于 2023-05-05  发布在  Mysql
关注(0)|答案(2)|浏览(141)

此问题已在此处有答案

MySQL: How to reset or change the MySQL root password?(37答案)
4天前关闭。
我知道这个主题在很多线程中被讨论,但我仍然找不到我的案例的解决方案。我在centOS 8.0中使用mysql 8.0.24并试图重置我的root密码。这是我的用户表。

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

我首先使用下面的命令启动mysql docs

`ALTER USER 'root'@'localhost' IDENTIFIED BY '111';`

但我得到了错误,ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'和我尝试与
update mysql.user set authentication_string='111' where user='root';
我得到了Query OK, 1 row affected (0.00 sec)。然后我就做了

FLUSH PRIVILEGES;

我检查了table

mysql> SELECT user,authentication_string FROM mysql.user;

+------------------+------------------------------------------------------------------------+
| user             | authentication_string                                                  |
+------------------+------------------------------------------------------------------------+

| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root             | 111                                                                    |

然后我杀死安全模式,并开始在正常模式与

systemctl start mysqld
mysql -u root -h localhost -p

当我输入密码111时,它说

ERROR 1045 (28000): Access denied for user 'root'@'localhost'

我真的不知道为什么会这样。首先,官方文档语法不适用于我的版本。我使用了update命令。什么都不管用。

xuo3flqw

xuo3flqw1#

将root用户的身份验证方法更改为使用密码的方法

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
exit

然后尝试使用密码登录。
您可以将root用户的身份验证方法改回默认值

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
exit
luaexgnf

luaexgnf2#

我只是用另一种方法解决了。谢谢大家回答我的问题。以防有人追踪到这里。我想向他们提供一些想法。我所做的是根据这个线程的最高分答案cant-login-as-mysql-user-root-from-normal-user-account-in-ubuntu-16-04将root用户置于安全模式。下面的命令为我工作。有些人可能不知道什么是标识与caching_sha2_password。您可以选择“插入”用户表。它告诉你。

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

FLUSH PRIVILEGES;

然后,作为其他线程,我可以登录我的新密码作为root用户。希望这对你有帮助。

相关问题