被锁定在我自己的 MySQL 数据库之外

被锁定在我自己的 MySQL 数据库之外

我今天使用 PhpMyAdmin 登录了我的 SQL 服务器,它似乎表现得很奇怪,仅在尝试创建新用户帐户时抛出随机的 [Token Mismatch] 错误。我尝试了多次,使用多个用户,但仍然得到相同的结果。然后我尝试更新自己的密码,成功了,但是不允许我登录服务器。

尝试使用我的用户名登录,新设置的密码在 PhpMyAdmin 中返回以下错误。

#1130 Cannot log in to the MySQL server

我可以通过命令行访问服务器,并尝试以“root”用户身份登录,得到以下信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我 100% 确定我输入的用户帐户密码和 root 密码都是正确的,但无法登录服务器。

这是一台生产服务器,有多个托管网站在其上运行。

我试过跑步

mysqladmin -u root password my-new-pass

但是,由于不知道已经存在的 root 密码,因此此操作会失败。

我在所有管理帐户上完全被锁定在自己的数据库之外,如何才能重新获得对数据库的访问权限,同时保留数据库中的所有数据?

如果需要任何其他信息或诊断步骤,请随时询问。任何帮助都将不胜感激。

答案1

如果你可以重新启动mysql,你就可以重置你的root密码。

service mysql stop

mysqld_safe --skip-grant-tables &

mysql -u root

use mysql;

update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';

flush privileges;

quit

service mysql restart

您现在就可以登录了

相关内容