mysql - 如何在 linux manjaro 上重置 mysql root 密码
问题描述
当我尝试使用时:
sudo mysql -u root
use mysql;
SELECT user, plugin FROM user;
UPDATE user SET plugin = "mysql_native_password" WHERE user = "root" ;
exit
service mysql restart`
这似乎是一个错误-->
ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
更新和改变不工作
解决方案
直接修改系统数据而不是使用 SQL 命令是一种非常糟糕的做法。
解决方案是使用ALTER USER
命令(参见https://mariadb.com/kb/en/alter-user/)而不是尝试修改系统视图。
在最近版本的 MariaDB 中,用户数据存储在 mysql.global_priv 表中,mysql.user 只是一个复杂的视图,它聚合了来自 mysql.global_prov 的信息。
推荐阅读
- c# - 查找图中两个顶点之间的边数
- machine-learning - Logistic 回归与 NN 中的 L2 正则化
- web-config - 满足 web.config 的所有规则
- graphql - GraphQL Apollo 服务器:“不能为不可为空的字段 Mutation.createUser 返回 null”
- powershell - 如何通过 PowerShell 脚本更改 AKS 节点数
- regex - 如何编写一个正则表达式来匹配这个模式?
- android - 是否有任何方法可以检测应用程序是否以前在 Android 上安装过当前存储策略
- android - Android - 传递按钮实例时避免 AsyncTask 中的内存泄漏
- javascript - 这些条件有什么问题?
- dataframe - 如何根据另一个数据帧检查 pyspark 数据帧值