Tag: linux

Como permitir acesso remoto ao MySQL no Linux #dicadoti

Por default (padrão) o MySQL não permite acesso remoto ao banco de dados, sendo assim essa dica com certeza vai ajudar muitos TI’s que necessitem esse acesso. Então para habilitar siga os seguintes passos:

Como root no terminal do linux digite:

1 – Faça backup do arquivo de configuração do MySQL:

cp -a /etc/mysql/my.cnf /etc/mysql/my.cnf-backup

2 – Agora sim, edite o arquivo my.cnf:

nano /etc/mysql/my.cnf

3 – Altere a seguinte linha..

Antes...
bind-address = 127.0.0.1
Depois...
bind-address = 0.0.0.0

4 – Reinicie o serviço mysql com:

/etc/init.d/mysql restart

5 – Acesse o mysql com:

mysql --user=root --password=senhadoroot

Então digite o seguinte comando:

GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'senhadoroot';

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.

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.1.123, ficaria assim o comando:

GRANT ALL ON *.* TO 'root'@'192.168.1.123' IDENTIFIED BY 'senhadoroot';

* Onde estiver escrito senhadoroot, troque pela senha do usuário root.

Agora pode testar conectar-se ao banco de outra máquina que você terá acesso.

Testado no Debian 8.04 e MySQL 5.5