O servidor MySQL provavelmente precisa ser informado para ouvir conexões de fora. Dependendo da distribuição usada, localize ou crie o arquivo .cnf correto (normalmente /etc/mysql/conf.d/local.cnf ou pior /etc/my.cnf ) com um bloco [mysqld] e adicione a linha:
bind-address = 0.0.0.0
Depois, reinicie o serviço MySQL (normalmente service mysql restart ) e verifique se lsof -n -i TCP:3306 diz o mesmo (em oposição a 127.0.0.1) e, obviamente, verifique se você pode se conectar a ele de fora.