首页 > 解决方案 > 如何在 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

更新和改变不工作

标签: mysqlmariadb

解决方案


直接修改系统数据而不是使用 SQL 命令是一种非常糟糕的做法。

解决方案是使用ALTER USER命令(参见https://mariadb.com/kb/en/alter-user/)而不是尝试修改系统视图。

在最近版本的 MariaDB 中,用户数据存储在 mysql.global_priv 表中,mysql.user 只是一个复杂的视图,它聚合了来自 mysql.global_prov 的信息。


推荐阅读