SQLSTATE[HY000] [1045] 拒绝用户 'admin'@'localhost' 访问 (使用密码:是)

SQLSTATE[HY000] [1045] 拒绝用户 'admin'@'localhost' 访问 (使用密码:是)

我已经在 phpmyadmin 中更改了 mysql 管理员用户的密码,现在我无法通过 ssh 访问我的 Plesk 面板和 mysql。它触发的错误是:

SQLSTATE[HY000] [1045] Access denied for user 'admin'@'localhost' (using password: YES) (Abstract.php:144)

如果我在 my.cnf 中输入 skip-grant-tables,我可以通过 ssh 访问 Plesk、phpmyadmin 和 mysql,但它不允许我更改密码。

我该如何恢复 Plesk 面板的正常访问?

谢谢

答案1

如果你使用 --skip-grant-tables 则无法使用 set Password = PASSWORD('string') 更改密码,但你可以这样做

UPDATE mysql.user set Password = <HASHED_STRING> where User = <ADMIN_USER> AND Host = 'localhost';

您可以使用以下命令创建散列字符串

select PASSWORD('test');
+-------------------------------------------+ 
| PASSWORD('test')                          |
+-------------------------------------------+
| *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+-------------------------------------------+
1 row in set (0,00 sec)

答案2

相关内容