无法重置MySQL密码

时间:2016-11-12 18:07:34

标签: mysql ssh server whm

我对我的服务器进行了一些调整,不幸的是我无法通过ssh通过whm登录到phpmyadmin,因为我已经拒绝了root @ localhost。 我试图通过whm更改我的sql root密码,但它给了我以下错误:

  

无法重置MySQL root密码   子进程在结束时报告了错误号1。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您必须检查是否能够从命令提示符登录mysql。通过SSH登录您的服务器并发出一个mysql。它应该登录到你的mysql服务器。

如果这不起作用,那就去做一只猫/root/.my.cnf。你应该有以前的mysql root密码。复制该密码并尝试:

mysql -u root -p(如果你之前已复制,则在提示时粘贴密码)。

如果您收到身份验证失败的消息,那么该密码不正确,您必须手动更改(您说无法从WHM更改密码)。

您使用本地mysql服务器还是远程mysql服务器?

为了更改mysql root密码,你必须停止服务器上的mysql服务,并使用skip grants选项手动启动它。

根据您的CentOS版本,您必须选择停止mysql服务:

- CentOS 6.x - /etc/init.d/mysql stop
- CentOS 7.x - systemctl stop mysql

然后手动启动mysql服务:

mysqld_safe --skip-grant-tables

然后发出以下内容:

mysql --user=root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;

重启mysql,您应该可以使用新密码登录。您可能还想将其保存在/root/.my.cnf中。

我希望它有所帮助!

答案 1 :(得分:0)

Bogdan,看来您还必须发出另一个命令:使用mysql; 并且很有可能发出以下命令:update user set Password=PASSWORD('new-password') where user='root'; 您将被误认为没有密码字段。如果您正在运行5.7+版本的mysql服务器,则会发生这种情况。在这种情况下,更改命令如下:

use mysql;update user set authentication_string=PASSWORD('new-password') where user='root';