我有一台运行MySQL服务器的CentOS服务器。 我想阻止远程访问MySQL。 我怎样才能做到这一点?
正如@Bruno回答,编辑my.cnf并设置绑定地址。
另一种方法是在MySQL用户级别设置访问控制。 Grant语法显示了这一点。 用户帐户可以设置为可从特定的networkingIP访问(如127.0.0.1或本地主机或%。%。%。%)
将其本地地址绑定到localhost,在MySQLconfiguration文件中:
bind-address = 127.0.0.1
(或只使用unix套接字)。
请注意,通过SSH进行隧道传输的用户也将被视为来自localhost :在这种情况下,不要给出SSH帐户。
如果你的服务器在NAT之后(也就是说它只有“本地”地址,但它仍然可以直接从互联网上接收stream量),但是你在这个networking上有多台机器(所以不能绑定到127.0.0.1)那么使用你的防火墙阻止所有的本地stream量将是一条路。
在iptables中,你可以使用这些命令来完成这个命令:
iptables -I INPUT --dport 3306 -j DROP iptables -I INPUT -s 192.168.0.0/24 --dport 3306 -j ACCEPT
请注意,这将放置DROP规则作为第一条规则,然后将ACCEPT规则置于此之前。 使用任何方法来保存防火墙规则,可能有更好的方法。 (可能是iptables-save和iptables-restore 。)
我不知道是使用内置的“–skip-networking”命令行参数会做你所需要的。 正如Zoredache所言,这似乎是默认设置。