【发布时间】:2018-11-21 02:46:16
【问题描述】:
我对我的服务器进行了一些调整,不幸的是,我无法再通过 whm 登录到 phpmyadmin,因为我拒绝访问 root@localhost。 我试图通过 whm 更改我的 sql root 密码,但它给了我以下错误:
无法重置 MySQL 根密码。
子进程结束时报错号1。
谁能帮帮我?
【问题讨论】:
我对我的服务器进行了一些调整,不幸的是,我无法再通过 whm 登录到 phpmyadmin,因为我拒绝访问 root@localhost。 我试图通过 whm 更改我的 sql root 密码,但它给了我以下错误:
无法重置 MySQL 根密码。
子进程结束时报错号1。
谁能帮帮我?
【问题讨论】:
您必须检查您是否能够从命令提示符登录到 mysql。通过 SSH 登录到您的服务器并发出 mysql。它应该登录到您的 mysql 服务器。
如果这不起作用,请执行 cat /root/.my.cnf。在那里你应该有以前的 mysql root 密码。复制该密码并尝试以下操作:
mysql -u root -p(如果您之前复制过,则在提示时粘贴密码)。
如果您收到身份验证失败消息,则该密码不正确,您必须手动更改(您说过无法从 WHM 更改)。
你使用本地mysql服务器还是远程mysql服务器?
要更改 mysql root 密码,您必须停止服务器上的 mysql 服务并使用跳过授权选项手动启动它。
根据您的 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 中。
希望对你有帮助!
【讨论】:
Bogdan,看来你必须再发出一个命令:use mysql;
很可能发出命令:update user set Password=PASSWORD('new-password') where user='root';
您将被错误地认为没有字段密码。如果您正在运行 mysql 服务器版本 5.7+,则会发生这种情况。在这种情况下更改命令如下:
use mysql;update user set authentication_string=PASSWORD('new-password') where user='root';
【讨论】: