Acesso remoto ao MySQL.

mysql1O acesso ao sistema de banco de dados remotamente e extremamente essencial para qualquer aplicação que rode em modo cliente servidor. Por isso este poste tem o intuito de demonstrar como pode ser realizada a liberação de acesso através do Banco de Dados MySQL.

Neste tutorial estarei demonstrando como funciona a liberação de permissão a partir de um banco de dados MySQL instalado em um servidor LINUX. A distribuição utilizada e o Ubuntu Server 12.04.01 LTS.

Tutorial:

1) Acesse seu linux através do Shell, você pode utilizar o próprio console do Linux ou se preferir acessar de outra maquina utilizando um software emulador de terminal, um dos mais utilizados e o PuTTY.

2) Com o usuário root (sudo) edite o arquivo /etc/mysql/my.cnf
(Para realizar edição de arquivos existe várias formas no Linux, um editor que gosto de usar e já vem nativo no Ubuntu e o “nano” mais existem vários, fica a sua escolha. Caso tenha dificuldades em editar arquivos no Linux, através do console, existe um programa chamado WinSCP, este programa nada mais é do que um cliente SFTP que trabalha na porta SSH, você pode utiliza-lo para acessar sua arquitetura Lunix e editar o arquivo desejado.

Encontre o parâmetro “bind-address” verifique que ele esta com o seguinte valor:

bind-address = 0.0.0.0

Altere o valor para o IP de seu servidor no qual esta conectado e que roda o banco de dados.
Exemplo:

bind-adress = 192.168.0.8

Salve o arquivo e reinicie o serviço MySQL:

sudo /etc/init.d/mysql restart

3) Antes de realizar a primeira tentativa de acesso ao banco de dados remotamente, verifique se a porta relacionada ao MySQL esta liberado no Firewall caso o utilize. Para verificar qual porta seu MySQL esta utilizando acesse /etc/mysql/my.cnf e verifique o parâmetro “port”.

4) Através do console Linux execute o seguinte comando para chamar o console do MySQL:

mysql -u root -p

Antes de efetuarmos a permissão devemos entender como funciona o comando que se encarregará de realizar tais atribuições:

O Sistema MySQL trabalha com as seguintes permissões:

Manipulação de Dados:

SELECT: Somente Leitura
INSERT: Inserção de Dados
UPDATE: Atualização de Dados
DELETE: Remoção de Dados

Manipulação de Tabelas

CREATE: Criação de novas Tabelas/Bases.
ALTER: Modificação de Tabelas/Colunas.
DROP: Remoção de Tabelas/Bases.

a) Para definirmos as devidas permissões a um usuário utilizamos o comando GRANT, ex.:

 

GRANT <permissao> ON <base>.<tabela> TO '<user>'@'localhost' IDENTIFIED BY '<senha>' WITH GRANT OPTION;

b) Para adicionar permissão de leitura, inserção e modificação:

GRANT select, insert, update ON agenda.* TO 'rafael'@'%' WITH GRANT OPTION;

c) E para visualizar as permissões que acabamos de aplica usamos o comando:

SHOW GRANTS FOR 'rafael'@'%';

d) Para definirmos todas as permissões para um usuário e o tornar DBA(Administrador) de sua base de dados podemos utilizar o parâmetro ALL PRIVILEGES em permissões, ex.:

GRANT ALL PRIVILEGES ON agenda.* TO 'emerson'@'%' WITH GRANT OPTION;
Em nosso exemplo vamos utilizar a opção “d”, vamos dar permissão de (Administrador) para todos os BD’s de nosso MySQL para o usuário “rafael” ficando o comando descrito da seguinte forma:

Sintese:

grant all privileges on *.* to '[usuario]'@'%' identified by '[senha]';

Comando:

GRANT ALL PRIVILEGES ON *.* TO 'rafael'@'%' IDENTIFIED BY '1234';

Se o acesso for feito por programas que trabalham com o sistema de password antigo do MySQL, como o “DBDesigner”, ainda na console do MySQL, rode o comando:

set password for '[usuario]'@'%' = old_password('[senha]');

Feito estes procedimentos você conseguirá utilizar o acesso ao MySQL de forma remota.

Se você gostou deste post e através dele pude lhe ajudar, o que acha de aproximarmos nosso contato? Siga meu blog e me adicione no Linkedin, aproveite para classificar algumas das minhas competências/recomendações, este simples gesto faz toda a diferença.

Att,

Rafael Oliveira
SysAdmin

Fontes Utilizadas:
http://blog.gaudencio.net.br/2013/08/atribuindo-permissoes-para-usuario-mysql.html

Você pode compartilhar esse artigo.

Siga o Blog Via E-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 47 outros assinantes

Sobre o Autor

Rafael Oliveira Maria - Linux

Rafael Oliveira

Bacharel em Sistemas de Informação, SysAdmin, Professor, Blogueiro e Entusiasta Linux.

Certificados:

LPIC-1-Large
LPIC-2
LinuxPlus Logo Certified
itil-foundation-digital-badge

Gostou do conteúdo? Ajude-me a manter o blog.

PicPay - Linux

Aceitamos pagamentos e doações via PicPay link picpay.me/rafaeloliveimar

Ficou com dúvida? Alguma Sugestão ou Elogio? Deixe seu comentário!