Linux – Permitindo acesso remoto num servidor MySQL

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 ‘root’@'192.168.0.2′ 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.

Abraços!

9 Respostas para “Linux – Permitindo acesso remoto num servidor MySQL”

  1. Deckard Disse:

    A dica está corretissima e funciona para acessar um banco de dados mysql 5 com as ferramentas de administração do mysql AB para windows… Grato e continue o ótimo trabalho em seu site… parabéns.

  2. Miguel Disse:

    Parabéns pela dica, muito boa e funciona perfeitamente. Apenas uma correção, Grant = Concede.

    Abraço e continue o ótimo trabalho.

  3. Nilson Disse:

    Valeu Miguel…

    Você está corretissimo, não sou muito bom em traduzir textos, vivo esquecendo as palavras tanto de uma lingua quanto de outra.

    abração

  4. sigma Disse:

    Funciona perfeitamente. Já estava procurando esta solução a semanas.
    Valeu.

  5. Adriano Disse:

    Na verdade o comando correto é:

    GRANT ALL ON *.* TO root@’%’ IDENTIFIED BY ‘SUASENHADEROOT’;

  6. Nilson Disse:

    Desculpe Adriano, se você olhar na documentação verá que a sintaxe não está errada:
    http://dev.mysql.com/doc/refman/5.1/en/grant.html

    abraço

  7. Mauricio Disse:

    Valeu cara…
    Muito bom, me ajudou muito!
    Abraços!

  8. Artur Disse:

    Parabéns, a dica funcionou perfeitamente. Obrigado!

Deixe uma resposta