主机'localhost'不允许连接到此MySQL服务器 - 授予root @ localhost无法正常工作

时间:2014-08-01 15:48:36

标签: mysql

抱歉,我知道这是一个经常出现的主题,但是......

我已经通过EzyPHP在Windows 7 x64上安装了本地mysql服务器,但无法登录,--skip-grant-tables选项除外。

登录尝试生成错误: 主机'localhost'不允许连接到此MySQL服务器。

所以我尝试使用--skip-grant-tables选项重新启动。这允许我以root身份登录,甚至更改root密码。所以密码没问题。但不要运行授权声明。这就是:

GRANT ALL on *.* to 'root'@'localhost' identified by 'ROOT PASSWORD' WITH GRANT OPTION;

返回:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement.

我也按照其他答案中的说明操作,例如:phpMyAdmin won't stop throwing "#1130 - Host 'localhost' is not allowed to connect to this MySQL server "

我想要做的就是运行一个本地的mysql服务器来开发一个php / mysql应用程序,但这个问题似乎无法克服。希望有一些我错过的简单,你可以指出。

谢谢

1 个答案:

答案 0 :(得分:0)

没有任何Windows经验,但首先我会建议您为应用程序创建一个用户帐户,并将该帐户限制在您正在使用的数据库中。

其次,如果root帐户没有特权,则需要告诉服务器重新加载授权表。

CREATE DATABASE mydb;
GRANT ALL ON mydb.* TO 'dbuser'@'localhost' IDENTIFIED BY 'dbpass';
FLUSH PRIVILEGES;

这使您的root帐户可以免费管理。 'FLUSH PRIVILEGES;'命令将强制服务器重新加载授权表,这意味着您可以以新用户身份进行连接。

大多数UNIX / Linux类型的系统都有一个mysql_secure_installation命令可以简化这个过程,但就像我说我没有使用Windows的经验一样。