Linux

在 ubuntu 上打開 mysql 到任何連接

  • October 9, 2012

我只是想打開 mysql 以便從任何伺服器 ip 訪問。

我已經註釋掉了bind-addressin /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     

您是否註釋掉了綁定地址或將其綁定到 0.0.0.0?

另外,請嘗試完全刷新防火牆。使用 iptables-save > foo.fw 轉儲它們,然後執行 iptables -F 以清空規則列表。

您還可以通過執行 netstat -tl 來查看它是否正確綁定,以查看 mysql 是否在“*”上列出到 3306

您還需要在 mysql 中啟用它。

例如:使用mysql;從使用者中選擇*;更新使用者集主機=“%”其中主機=‘127.0.0.1’; 希望這可以幫助。

引用自:https://serverfault.com/questions/402880