云和Mysql的ERROR 1130 (HY000)

来源:互联网 发布:钉钉软件管理员权限 编辑:程序博客网 时间:2024/04/27 22:59

目前云炙手可热,正好公司有个项目把mysql放到了云上。内网访问Mysql的时候遇到一点小问题。记录之。

1.客户端本地IP
D:\>ipconfig|find "IPv4"
   IPv4 Address. . . . . . . . . . . : 192.168.0.98

 

2.访问云上的Mysql(62.210.79.*为mysql的IP)  
D:\>mysql -utest -ppasswd -h 62.210.79.* -P3306
Warning: Using a password on the command line interface can be insecure.
ERROR 1130 (HY000): Host '61.163.253.*' is not allowed to connect to this MySQL server

错误很明显是Mysql服务端没有允许这个(61.163.253.*)IP ,访问Mysql。

 

3.登录mysql主机,查询mysql.user表。确保用户有权限登录。
mysql> select host, user  from mysql.user  where user='test';      
+---------------+-------+
| host          | user  |
+---------------+-------+
| 192.168.0.98  | test  |
+---------------+-------+
1 row in set (0.00 sec)

通过ipconfig查看客户端的IP是192.168.0.98,这个IP(61.163.253.*)是那来的呢?


原来:这是个云上的mysql。
而客户端是通过代理访问外网的。被mysql拒绝的IP是防火墙对外映射的IP.
把这个IP更新到mysql的user表中。就可以在内网访问云上的Mysql了。当然还需要防火墙允许访问云的IP地址。

这种情况下怎么限制内网的IP登录云上的Mysql呢?看来是没法直接在Mysql中进行限制了。
目前只有在防火墙上增加策略允许指定的IP访问云上的Mysql了。

0 0