На убунте открывал легко
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
На debian 7 прописываю и порт закрыт
netstat показывает состояние LISTEN
но nmap с другого узла показывает состояние closed.
И ещё объясните почему нетстат показыват что порт открыт и какими утилитам лучше посмотреть открытые порты?
У Вас порт открыт, только вот mysql слушает на локальной петле 127.0.0.1, которая доступна только с локолхоста.
В конфиге mysql исправьте, если есть, если нет, то допишите директиву: bind-address = 0.0.0.0
На всякий случай еще проверьте, что у Вас закоментирована строка: #skip-networking
После этого перезапустите mysql. И проверьте доступность