我意外地更改了mysql用户表中root用户的“host”值。
我需要将其更改回localhost,因为我将其更改为arancillary2125(我的其他机器DNS名称)但由于“localhost”不再具有权限,我无法访问mysql(来自PHPMYADMIN或命令提示符)。
我正在运行Windows XP // apache //
我尝试了以下解决方案,但它们无效:
答案 0 :(得分:14)
糟糕。
这是在你的本地机器上,我认为?在Start-> Run,输入'services.msc'并找到MySQL服务。停止服务。
修改强>
找到你的my.ini文件(通常在C:\ Windows或C:\ mysql等)。如果您没有,create one。它只是一个普通的ASCII文件。
更改文件,将其添加到[mysqld]部分:skip-grant-tables
。
在命令行上,发出命令net start MySQL
并稍等片刻,MySQL服务应该启动。
仍在命令行上,发出命令mysql -u root
并点击“ENTER”。您应该以“root”用户身份登录MySQL。 小心更改您的拨款,然后退出。停止MySQL服务/服务器。重新编辑my.ini文件并删除/注释掉skip-grant-tables
行,然后再次启动服务器。尝试再次以root用户身份登录。
刚刚在我的Win XP专业版上测试过这个。
这实际上具有绕过所有授权表的效果,因此无需查询是否应该从该机器访问它。
MySQL参考手册:--skip-grant-tables option
答案 1 :(得分:5)
所以我也遇到了这个问题,突然发生#1130 - 主机'localhost'不允许连接到这个MySQL服务器。
搜索和搜索之后我可以告诉你bdl解决方案是前进的方法,一旦你可以重新登录到服务器,你可以更改你的权限,并删除my.ini mysql配置文件下的skip-grant-tables行
我本来可以赞成bdl的帖子,但我在网站上的新功能还没有。
答案 2 :(得分:1)
重新创建arancillary2125(即使在旧桌面上),然后以这种方式访问您的数据库。