我有一个 VPS,我正在尝试远程访问我的 mysql 数据库。
我授予任何 IP 地址的 root 权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
我在my.cnf
文件中评论了这一行
#bind-address = 127.0.0.1
我重启了mysql
sudo service mysql restart
但是下一步(所有教程都提到过)涉及iptables
从端口 3306 转发请求;iptables
我意识到我的VPS甚至没有sudo service iptables status
输出iptables: unrecognized service
我可以安装 iptables,但我可以用 nginx 实现同样的效果吗?也就是这个fort forwarding允许远程访问我的mysql数据库?
不,Nginx 和 Netfilter 是两个完全不同的东西。
您以惊人的开放方式配置 MySQL 数据库,这可能很危险。更好的选择可能是限制仅从应用程序(网络服务器?)而不是整个 Internet 访问它。为此,请将 替换
%
为此客户端的地址。您询问了如何使用
iptables
Netfilter 子系统的工具设置额外的防火墙规则,这很好。如果没有安装该工具,为什么不安装它?Nginx,不管是谁,都是一个网络服务器,你可能迟早会需要它。但它绝不是 Netfilter 的替代品。