首页 > 解决方案 > 错误 1396 (HY000): 'root'@'localhost' 的操作 ALTER USER 失败

问题描述

抱歉问题的布局,但这是我第一次在这里写。我正在尝试重置我的 mysql root 密码,因为我忘记了。我使用 --skip-grant-tables 启动了 MySql 服务器,当我尝试 ALTER 或 UPDATE root 密码时,这些是错误。

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.04 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

但是当我尝试更新时没有错误,只有当我尝试输入密码时才会出现错误。

mysql> UPDATE mysql.user SET authentication_string='MyNewPass' WHERE User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

标签: mysql

解决方案


尝试“select * from mysql.user”,看看它是否给出了结果。你可能会发现用户没有在用户表中退出


推荐阅读