有时候,在使用MySQL的过程中,你可能会遇到这样的错误:
MySQL_error_1130
即本文标题所示的:1130 – Host ‘xxx’ is not allowed to connect to this MySQL server

该错误通常发生在安装完MySQL后,希望通过工具远程的访问MySQL服务的时候。
导致该问题的原因是因为MySQL的系统库(mysql)中的数据表“user”的配置不当导致的。

我的当前配置(不恰当的配置)

Way One(Update Table[mysql.user])。

将host列修改为需要连接到MySQL的客户端主机的IP地址:

这时候,从设定的客户端连接MySQL,就可以成功了:
MySQL_connect_successful
注意,如果你希望从任意客户端均可连接到MySQL,则可以将上述hosts列中的客户端IP设置为“%”,命令如下:

这里需要关注两点:
1.上述所说的任意客户端的真实意义是:任何可以访问到MySQL服务所在的主机的任意客户端。技术上说,如果无法ping通MySQL所在的服务器,则跟user表的设定没有关系(还没有到这一步)
2.既然设定为了任意客户端都可以访问,那么安全问题就很明显了。

另一种修改方式(update user)。

上述修改host是通过Update数据表实现的,也可以通过如下的方式做到:

第三种方式:Grant新用户。

具体操作如下:

你可以看到通过“grant …”指令,实际上是给user数据表中新增了一条记录。

就和上文所说的,也可以将“%”改为具体的客户端IP,如下:
grant all privileges on *.* to ‘adamhuan’@’192.168.195.1’ identified by ‘mysql’ with grant option;

客户端测试连接:
MySQL_connect_successful_adamhuan
————————————————————————————————————
Ending。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装