#1130 - 主机'localhost'不允许连接到此MySQL服务器 - 运行Acunetix扫描后

Lam*_*oft 7 mysql wamp phpmyadmin

我知道很多次都会问这类问题,但没有人回答我的问题.请仔细阅读.

我正常使用Wamp服务器在localhost上运行我的网站.今天我决定对我的localhost服务器上的漏洞进行Acunetix扫描.

Acunetix在短时间内向mysql表发送了大量命令(因为它的localhost命令运行得很快),导致我的mysql服务器因错误而崩溃:

#1130 - Host 'localhost' is not allowed to connect to this MySQL server 
Run Code Online (Sandbox Code Playgroud)

我已经尝试过的:

通过mysqld运行mysql --skip-grant-tables我可以访问mysql,所以我试着运行

DROP USER 'root'@'127.0.0.1'; GRANT ALL PRIVILEGES ON . TO 'root'@'%';
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误:

mysql> DROP USER 'root'@'127.0.0.1'; GRANT ALL PRIVILEGES ON . TO 'root'@'%';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt
ion so it cannot execute this statement
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'TO 'r
oot'@'%'' at line 1
Run Code Online (Sandbox Code Playgroud)

我承认我做的是一个mysql noob,但我做了我的家庭作业并搜索谷歌,但无法找到解决方案.

有帮助吗?

我通过重新安装wamp服务器和完全卸载来解决问题,即使使用mysql也是如此.

Muh*_*mad 9

一个简单的图解解决方案!

在此处输入图片说明

  • 更新 Windows 操作系统后开始发生这种情况。并且,按照上述步骤解决。 (2认同)

Mar*_*sle 5

当您的服务器使用--skip-grant-tables运行时,您将禁用所有MySQL安全性,因此您不允许使用GRANT命令.你可以做的是访问"mysql"数据库并直接选择和更新你需要更改的行.在您的情况下,它将是用户表.


小智 5

我遇到过同样的问题。

您可以将标记添加skip-grant-tables到 my.ini 文件中[mysqld],在 下# The MySQL server,然后重新启动 mysql 服务器。

您现在可以打开 phpmyadmin 并转到 mysql 数据库中的用户表。确保密码属性值为空,主机属性值为localhost。我面临着第二个错误。PHPMyAdmin 试图将主机值连接为“localhost”,并且该表包含值 127.0.0.1。

从 my.ini 中删除 skip-grant-tables 并重新启动 mysql 服务器。这应该有效。