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!




7 Março 2008 às 9:36 pm |
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.
28 Novembro 2008 às 4:25 pm |
Parabéns pela dica, muito boa e funciona perfeitamente. Apenas uma correção, Grant = Concede.
Abraço e continue o ótimo trabalho.
28 Novembro 2008 às 4:44 pm |
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
30 Janeiro 2009 às 11:15 pm |
Funciona perfeitamente. Já estava procurando esta solução a semanas.
Valeu.
4 Maio 2009 às 4:31 pm |
Na verdade o comando correto é:
GRANT ALL ON *.* TO root@’%’ IDENTIFIED BY ‘SUASENHADEROOT’;
4 Maio 2009 às 5:08 pm |
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
10 Agosto 2009 às 4:26 pm |
Valeu cara…
Muito bom, me ajudou muito!
Abraços!
10 Agosto 2009 às 4:51 pm |
valeu
29 Outubro 2009 às 1:11 pm |
Parabéns, a dica funcionou perfeitamente. Obrigado!