【问题标题】:Host xxxx is not allowed to connect to this MySQL server主机 xxxx 不允许连接到这个 MySQL 服务器
【发布时间】:2015-04-16 10:50:18
【问题描述】:

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

我在 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 并将绑定地址设置为 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;

再次将绑定地址更改为 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   

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

【问题讨论】:

标签: mysql remote-access


【解决方案1】:

如果我猜对了,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 表示连接的位置,而不是连接的位置。

它能解决你的问题吗?还是我从你的问题中遗漏了什么?

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 2017-10-09
    • 2012-06-07
    • 2014-09-20
    相关资源
    最近更新 更多