在 ubuntu 上打开 mysql 进行任意连接

在 ubuntu 上打开 mysql 进行任意连接

我只是想打开 mysql 以便可以从任何服务器 ip 访问。

我已经注释掉bind-address/etc/mysql/my.conf

我已经在 mysql 中设置了用户帐户。

我不知道是什么阻止我连接。

我越觉得这很有挑战性,就越意识到它有多大的安全风险,我明白,我只是希望能够暂时做到这一点。

我认为 iptables 防火墙是阻止我实现这一目标的最后一件事,但sudo iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT似乎什么也没做。

thomas@vannevar:~$ netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:mysql                 *:*                     LISTEN     
tcp        0      0 *:git                   *:*                     LISTEN     
tcp        0      0 *:ssh                   *:*                     LISTEN     
tcp6       0      0 [::]:git                [::]:*                  LISTEN     
tcp6       0      0 [::]:http               [::]:*                  LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 [::]:https              [::]:*                  LISTEN     

root@vannevar:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             127.0.0.0/8          reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere     

答案1

您是否注释掉了绑定地址或将其绑定为 0.0.0.0?

另外,尝试彻底清除防火墙。使用 iptables-save > foo.fw 清除它们,然后执行 iptables -F 清空规则列表。

您还可以通过执行 netstat -tl 来查看 mysql 是否在“*”上列出 3306,以查看它是否正确绑定

答案2

您还需要在 mysql 中启用它。

例如:USE mysql; SELECT * FROM user; UPDATE user set host="%" WHERE host='127.0.0.1'; 希望这会有所帮助。

相关内容