当前密码未知时重置 MySQL root 密码

Resetting MySQL root password when current password is not known(当前密码未知时重置 MySQL root 密码)

本文介绍了当前密码未知时重置 MySQL root 密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I have inherited a server that has mysql installed on it. I don't have the mysql password for any user, not even root (although I have the linux root password). Plus, I am only aware of one other user account besdies root, and that one does not have privileges to perform any action, not even SELECT.

I tried stopping the mysql servicw, restarting with the skip grant tables option, and just logging in without password:

service mysqld stop
service mysqld start --skip-grant-tables &
mysql -u root

But get the following error:

Access denied for user 'root'@'localhost' (using password: NO)

I then tried resetting the password:

mysqladmin -u root password 'newpw'

But that also gives an access denied error.

I also tried logging in as the other user (without pw) and executing the following command:

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';

and got this error:

ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'

I have also tried removing mysql and reinstalling, but I get the same errors.

Any suggestions?

解决方案

Two options:

If you want to use --skip-grant-tables you may need to start mysqld directly as the options aren't necessarily passed along through the init script.

Otherwise, try these instructions from the manual.

这篇关于当前密码未知时重置 MySQL root 密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:当前密码未知时重置 MySQL root 密码