我有一个托管的MySQL DB,我需要从我的客户站点提供访问权限。他们有一个快速的宽带连接,可以向他们呈现来自固定池的一系列IP地址。
因此,我需要锁定对其MySQL用户的访问权限,以便主机设置是类中的地址范围。不是全班的人。
我意识到我可以使用通配符,比如81.91.71%,但这太慷慨了。他们的范围更像是
81.10.20.1 -> 81.10.20.15
除了为每个IP地址创建15个用户之外,还有其他方法吗?谢谢马克
发布于 2013-08-30 09:48:46
您可以使用分配给网络掩码的授权,如下所示:
GRANT ALL PRIVILEGES ON database.* TO 'user'@'81.10.20.1/255.255.255.240';它将允许您从81.10.20.1 -> 81.10.20.14访问,只需更改子网部分,以适应您需要的范围。
您可以在mysql doc 帐户名称上看到更多信息。
发布于 2014-01-27 19:27:20
对于IP范围,MySQL只允许您使用%作为通配符或单个数字的下划线。
或者,您可以设置反向DNS以使所需的IP解析为mysql-%.mydomain.com之类的内容。
发布于 2020-06-10 22:19:53
我知道这是个老问题。
通过IP地址控制访问可能会更好地解决堆栈中不同层的问题。例如,服务器防火墙(iptables、firewalld等)可以筛选来自特定范围的对MySQL的访问。
如果您经常提供与外部人员的连接,VPN或SSH堡垒将使您控制客户端正在获取的ip。奖励:你得到一个加密的连接。(MySQL的协议在默认情况下不是加密的。设置加密连接需要额外的努力。)
https://dba.stackexchange.com/questions/48992
复制相似问题