A porta 3306 parece estar fechada no meu servidor Ubuntu

A porta 3306 parece estar fechada no meu servidor Ubuntu

Eu tenho doisVPSservidores, e ambos têmMySQLinstalado, um para teste e outro para desenvolvimento. Um dos meus servidores não me permite conectar de fora. Com o usuário;

'meuusuáriodeteste'@'%'

De acordo comum localizador de porta aberta, a porta 3306 do servidor incorreto parece estar fechada. Eu tenho meus próprios programas C++ e Java ouvindo em portas arbitrárias sem problemas. Por que isso está acontecendo e como posso consertar?

O Ubuntu instalado é o Ubuntu 11.10 (GNU/Linux 2.6.32-042stab072.10 x86_64)

Resultados de netstat -tuplecada servidor

Servidor ofensivo

tcp        0      0 localhost.lo:submission *:*                     LISTEN      root       39967664    -

Servidor funcionando

tcp        0      0 *:mysql                 *:*                     LISTEN      mysql      1847519288  -

Responder1

O problema era que o servidor estava escutando apenas internamente.

Remover a linha bind-address 127.0.0.1resolveu /etc/mysql/my.cnfo problema.

Versões mais recentes do Ubuntu (≥16.04) podem ter esta linha no formato /etc/mysql/mysql.conf.d/mysqld.cnf.

Responder2

Minha sugestão, se você tem certeza que as portas estão fechadas (acho estranho um VPS ter essa porta fechada) é alterar o arquivo de configuração do MySQL para usar outro.

Basta abrir o arquivo de configuração no terminal, sudo nano /etc/mysql/mysql.confe procurar a [mysqld]seção. Nele, procure a linha que diz port = 3306. Mude para outra porta não utilizada e salve o arquivo.

Em seguida, simplesmente reinicie o VPS ou reinicie o serviço, como sudo service mysql restart.

Só para ressaltar que, se o arquivo mysql.confnão estiver naquele que mencionei acima ele pode estar nestes outros locais:

/etc/my.conf
/etc/my.cnf
/etc/mysql/my.conf

E se o servicecomando não funcionar, faça o seguinte:

sudo /etc/init.d/mysql restart

Se o problema persistir, no meu caso eu verificariatabelas de ip(Na verdade, eu excluiria tudo no iptables apenas para começar do zero, se isso pudesse ser uma opção) ou qualquer outra opção habilitada para firewall.

Por serem VPS, eu também verificaria o Painel de Controle do VPS para ver se há alguma opção que possa bloquear portas.

Além disso, eu correria nmapno VPS para ver quais portas você abriu. Você precisa executá-lo fora do VPS para ver quais portas eles abriram.

netstat -tuplentambém é uma boa ideia ver quais portas abertas você tem no servidor e quais estão no modo LISTEN.

Responder3

Corrigi isso mudando bind-address 127.0.0.1para bind-address 0.0.0.0in /etc/mysql/mysql.conf.dpara que o MySQL escute em todas as portas.

Além disso, configurei uma conta de usuário mysql para ser usada remotamente. Para mais detalhes vejaHost 'xxx.xx.xxx.xxx' não tem permissão para se conectar a este servidor MySQL.

Responder4

Pode acontecer que sua configuração esteja no diretório /etc/mysql/mysql.conf.d/mysqld.cnf, verifique se não é o caso.

informação relacionada