好吧,在阅读了相同名称的主题但没有成功之后,我不得不再次询问并向您展示我的情景:
我在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
我不知道该做什么,有什么想法?非常感谢你
答案 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
表示要连接的位置,而不是连接的位置。
它能解决你的问题吗?或者我错过了你的问题?