主机xxxx不允许连接到此MySQL服务器

时间:2015-04-16 10:50:19

标签: mysql remote-access

好吧,在阅读了相同名称的主题但没有成功之后,我不得不再次询问并向您展示我的情景:

我在Kali Linux机器上,我的mysql配置文件(/etc/my.cnf)是这样设置的:

bind-address = 172.16.1.228

我重置了我既不能远程也不能同时输入的服务,我根据访问方式得到了这2个错误:

root@Adkadon:~# mysql -u root -p -h 172.16.1.228
Enter password: 
ERROR 1130 (HY000): Host 'Adkadon' is not allowed to connect to this MySQL server

mysql -u root -p -h 127.0.0.1
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

请注意,如果没有-h 127.0.0.1,我从未被允许访问。

因此,我更改my.cnf并将bind-address设置为0.0.0.0。

我以这种方式访问​​:mysql -u root -p -h 127.0.0.1,我执行以下操作:

GRANT ALL PRIVILEGES ON *.* TO root@172.16.1.228 BY ‘root‘ WITH GRANT OPTION;

再次将bind-address更改为172.16.1.228并且没有成功。

这是数据库中SELECT user,host FROM user;的输出:

root             | 127.0.0.1    |
| root             | 172.1.16.228 |
| root             | ::1          |
| debian-sys-maint | localhost    |
| root             | localhost    |
| root             | repo   

我不知道该做什么,有什么想法?非常感谢你

1 个答案:

答案 0 :(得分:2)

如果我猜对了,172.1.16.228是你的mysql服务器的IP。 'Adkadon'是您尝试从中访问mysql的主机。

如果是这种情况,请获取Adkadon的IP地址(ifconfig

说172.1.16.xxx是你的主机IP,然后在my.cnf提及

bind-address = 172.16.1.xxx 这表示仅允许从172.16.1.xxx

连接

创建用户root@172.16.1.xxx

要连接到mysql,请使用命令

mysql -u root -p -h 172.1.16.228

请注意,-h 172.1.16.228表示要连接的位置,而不是连接的位置。

它能解决你的问题吗?或者我错过了你的问题?