更改mysql的默认端口

我从MySQL网站获得以下2个命令。 我试图将默认的MySQL端口从3306更改为4040,并返回。 但没有按预期的那样工作。

redirect到代理:

iptables -t nat -I PREROUTING -s ! 127.0.0.1 -p tcp --dport 3306 -j REDIRECT --to-ports 4040 

回到默认值:

 iptables -t nat -D PREROUTING -s ! 127.0.0.1 -p tcp --dport 3306 -j REDIRECT --to-ports 4040 

我在这里错过了什么?

更新:

这种变化正在呈现如下状态:

 # /etc/init.d/iptables status Table: nat Chain PREROUTING (policy ACCEPT) num target prot opt source destination 1 REDIRECT tcp -- !127.0.0.1 0.0.0.0/0 tcp dpt:3306 redir ports 4040 2 REDIRECT tcp -- !127.0.0.1 0.0.0.0/0 tcp dpt:3306 redir ports 4040 Chain POSTROUTING (policy ACCEPT) num target prot opt source destination 

对于你想要达到的目标,你有错误的方法。 你想从4040redirect到3306.所以试试:

 iptables -t nat -I PREROUTING -s ! 127.0.0.1 -p tcp --dport 4040 -j REDIRECT --to-ports 3306 

您还需要确保删除其他不正确的规则。

PS如果这是一个生产系统,甚至无法承受停机时间来更改侦听器端口,您不应该从Internet尝试iptables规则! 先在testing机器上testing一下。