1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Liberar porta 3306 - mysql

Discussão em 'Dúvidas e Suporte Técnico - GNU/Linux & *nix' iniciada por jbrasil, 2 de Agosto de 2007. (Respostas: 2; Visualizações: 8229)

  1. jbrasil

    jbrasil Power Member

    Amigos,
    Não estou conseguindo conectar no server mysql.
    Preciso através de um client (SQL Manager 2005 Lite for MySQL), conectar em um server mysql.
    Endereço de rede máquina client: 10.0.0.0/16
    Endereço de rede server mysql: 10.1.0.0/24


    [[email protected] etc]# iptables -L -n | grep 3306
    ACCEPT tcp -- 0.0.0.0/0 10.1.0.2 state NEW,ESTABLISHED tcp dpt:3306
    ACCEPT tcp -- 0.0.0.0/0 10.1.0.5 state NEW,ESTABLISHED tcp dpt:3306
    ACCEPT tcp -- 10.0.0.180 0.0.0.0/0 tcp dpt:3306


    [[email protected] mysql]# netstat -anp | grep 3306
    tcp 0 0 0.0.0.0:3306 0.0.0.0:* OUÇA 846/mysqld
    tcp 0 0 10.1.0.5:3306 10.1.0.14:2457 TIME_WAIT -

    Veja as regras:

    $IPTABLES -t nat -A PREROUTING -p tcp -i $INT_IF -d $IP_MYSQL_II --dport 3306 -j DNAT --to-destination $DMZ_MYSQL_II

    $IPTABLES -A FORWARD -p tcp -i $INT_IF -o $EXT_IF -m state --state NEW,ESTABLISHED -d $DMZ_MYSQL_II --dport 3306 -j ACCEPT

    O que pode ser ?
    Obrigado.
    Jose Roberto.
     
  2. luxitan

    luxitan Power Member

    do cliente para o server:

    consegues pingar?
    fazer telnet pro porto 3306?
    nos logs da firewall vês alguma coisa? (iptables à pata ñ é a minha especialidade)
    a firewall está num router entre o cliente e o servidor? Esse router tem rotas para ambas as redes? consegue pingar tanto o cliente como o servidor?
    o user com que te estás a ligar ao mysql tem permissoes para se ligar desse cliente?
     
  3. Liberando porta 3306 (MySql) - Linux – Permitindo acesso remoto num servidor MySQL

    [h=2][/h] OBS: Testado com o MySQL 5!

    O Mysql por padrão ao ser instalado numa máquina, não está configurado para permitir acesso remoto, somente local, por parte do usuário, então para habilitar seu uso seja de qual for a máquina, faz-se os seguintes procedimentos:
    Como root no terminal do linux digite:
    nano /etc/mysql/my.cnf
    Agora altere a seguinte linha..
    bind-address = 127.0.0.1
    ..para..
    bind-address = 0.0.0.0
    Agora reinicie o serviço mysql com:
    /etc/init.d/mysql restart
    Entre no prompt do mysql com:
    mysql –user=root –password=suasenha
    Então digite o seguinte comando:
    GRANT ALL ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘suasenha‘;
    Esse comando é bem explicativo, ele garante (GRANT) todos (ALL) os privilégios de acesso a todos (*.*) os databases do banco, ao (TO) usuário (‘root’) em todas as máquinas (‘%’) usando a senha do usuário root (IDENTIFIED BY ‘suasenha’). Traduzindo em miúdos, você acessa tudo no banco com o usuário root em qualquer máquina remota.
    Obs: Se quiser dar acesso somente a uma maquina específica troque ‘%’ pelo ip da máquina, por exemplo, dar acesso somente a máquina 192.168.0.2, ficaria assim o comando:
    GRANT ALL ON *.* TO [email protected] IDENTIFIED BY ‘suasenha‘;
    Obs2: Onde estiver escrito suasenha, troque pela senha do usuário root.
    Agora pode testar conectar-se ao banco de outra máquina que você terá acesso.
     

Partilhar esta Página