Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.4k views
in Technique[技术] by (71.8m points)

mariadb - How can i reset mysql root password on linux manjaro

When i try to use :

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`

it seems an error-->

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

Update and Alter is not working

question from:https://stackoverflow.com/questions/65895518/how-can-i-reset-mysql-root-password-on-linux-manjaro

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It is a very bad practice to modify system data directly instead of using SQL commands.

The solution is to use ALTER USER command (see https://mariadb.com/kb/en/alter-user/) instead of trying to modify a system view.

In recent versions of MariaDB user data is stored in mysql.global_priv table, mysql.user is just a complex view which aggregates information from mysql.global_prov.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...