O servidor MySQL não é acessível a partir da máquina remota

11

Instalei o servidor MySQL no meu servidor Ubuntu local (11.10). Não consigo me conectar ao servidor de uma máquina remota.

Quando tentei: - nmap localhost , Mostra o seguinte

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
3306/tcp open  mysql

Isso significa que 3306 , a porta do MySQL está aberta, certo? Mas quando eu tentei nmap 192.168.0.50 , que é o IP do servidor, eu recebo o seguinte: -

PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds

Isso significa que a porta não está aberta ao acessar usando IP? Se sim, como abro a porta?

Eu tentei o seguinte código, mas parece que não funcionou.

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

O que está errado aqui?

    
por Sparky 03.07.2012 / 13:04

1 resposta

19

Seu serviço MySQL é obrigado a servir apenas localhost (ligação de interface). Este é o padrão por motivos de segurança. Se você realmente precisa acessá-lo diretamente de outros hosts, há um bom Como habilitar o acesso remoto ao MySQL no Ubuntu que você pode seguir:

  1. como root, abra seu /etc/mysql/my.cnf com seu editor favorito
  2. procure a seção [mysqld] e, a seguir, a palavra-chave bind-address . Isso geralmente é definido como 127.0.0.1 - altere isso para corresponder ao seu endereço IP "normal"
  3. salve o arquivo e recarregue o serviço (por exemplo, usando service mysql restart )

Lembre-se de que você deve permitir que seus usuários remotos acessem seus bancos de dados remotamente, definindo as GRANTs apropriadas - por exemplo,

GRANT ALL ON mydb.* TO remoteuser@'%' IDENTIFIED BY 'SomePASSWORD';

Observe o @'%' , que significa "de qualquer host".

    
por Izzy 03.07.2012 / 13:20