Habilitando acesso remoto ao servidor Mysql

Howto: Habilitando acesso remoto ao servidor Mysql

Dica velha que de vez em quando é necessário relembrar, por isso vou deixar registrado aqui para não ter que ficar procurando no google sempre que precisar.

Executar todos os passos abaixo como root:

1 – Edite o arquivo:
/etc/mysql/my.cnf

2 – Altere a seguinte linha:
bind-address = 127.0.0.1
Deixando assim:
bind-address = 0.0.0.0

3 – Reinicie o Mysql
# /etc/init.d/mysql restart

4 – Vamos agora dar GRANT no usuário root, logue no mysql:
# mysql -u root -p

5 – Após se logar, digite o seguinte comando:
GRANT ALL ON *.* TO root@’%’ IDENTIFIED BY ‘sua_senha’;

Dessa forma você libera o acesso ao seu servidor Mysql vindo de qualquer máquina externa, caso queira liberar somente o acesso da sua máquina, é só verificar qual é seu IP e entrar com o comando:

GRANT ALL ON *.* TO root@’192.168.0.2′ IDENTIFIED BY ‘sua_senha‘;

6. Após isso, basta dar uma reiniciada novamente no Mysql e realiazar a conexão remota.
# /etc/init.d/mysql restart

====================================================

Caso você queira desfazer o acesso remoto é bem simples também.

1 – Altere a seguinte linha:
bind-address = 0.0.0.0
Deixando assim:
bind-address = 127.0.0.1

2. Logue no Mysql:
# mysql -u root -p

3. Delete todos os privilégios remotos:
DELETE FROM mysql.user WHERE User = ‘root’ AND Host = ‘%’;
FLUSH PRIVILEGES;

4. Reinicie o Mysql e pronto, não estará mais acessível remotamente.

 
Fontes:
http://darkstrikerd.wordpress.com/
http://www.cyberciti.biz/
http://ptankov.wordpress.com/

7 thoughts to “Habilitando acesso remoto ao servidor Mysql”

  1. Qual o risco de executar esse comando e parar de funcionar o servidor? não tenho domínio sobre o linux, e estou precisando estabelecer conexão ODBC mysql com o excel, através de um servidor existente no linux, que acusa que o IP não tem permissão para estabelecer conexão, logo acredito que essa solução resolva o meu problema, só estou um pouco quanto receioso para executa-la com medo de danificar algo na conexão ja existente.

  2. Bem, isso não vai danificar seu banco, apenas irá permitir que você tenha acesso remoto. É inseguro deixar o acesso remoto com o usuário root, como no exemplo acima, no caso seria apenas para resolver uma demanda específica, o ideal é você liberar acesso remoto apenas para o usuario X que tem privilégio ao banco Y. Mas assim também funciona, só lembre de voltar ao normal após o uso.

  3. Olá Boa Tarde segui todos os passos acima e não consigo conectar ao meu bd mysql Failed to connect to MySQL: Unknown MySQL server host ‘xxxxx’ (11). Tem alguma idéia do que seria?

  4. Obrigado pela dica, ótimo post.

    apenas um detalhe.

    apos as alterações o mysql nao subiu, ‘Failed’.

    somente parando e iniciando o servico que retornou.

    # service mysql stop
    # service mysql start

    abraço

Leave a Reply

Your email address will not be published. Required fields are marked *