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

Mat*_*ark 2 mysql ubuntu

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

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

#1130 Cannot log in to the MySQL server
Run Code Online (Sandbox Code Playgroud)

我可以通过命令行访问服务器,并尝试登录到我的“root”用户,我得到了这个:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

我 100% 肯定地知道,我正确输入了用户帐户密码和 root 密码,但无法登录服务器。

这是一个生产服务器,并且有多个托管网站从中运行。

我试过跑步

mysqladmin -u root password my-new-pass
Run Code Online (Sandbox Code Playgroud)

但是,不知道已经存在的 root 密码,这会失败。

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

如果需要任何其他信息或诊断步骤,请随时询问。非常感谢任何和所有帮助。

小智 6

如果您可以重新启动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
Run Code Online (Sandbox Code Playgroud)

您现在应该可以登录了