mysql - 错误 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)
解决方案
尝试“select * from mysql.user”,看看它是否给出了结果。你可能会发现用户没有在用户表中退出
推荐阅读
- javascript - JavaScript 隐式强制
- html - Angular 5 addImage() 方法中的 JsPDF
- javascript - bootstrap weekpicker datepicker没有按需要工作
- java - 拍摄时图像质量下降
- html - 通过将鼠标悬停在另一个元素上来触发一个元素上的动画
- python-3.x - 创建一个洗牌的函数
- angular - 无法加载资源,服务器以 404 状态响应:Angular 6 + Laravel
- hyperledger-composer - Hyperledger composer Rest API 过滤器不适用于资产
- python-3.x - 如何在 django 2 中打印 PDF 文件
- code-coverage - Coverlet 不创建输出文件