sexta-feira, 21 de setembro de 2012

MySQL Multi-Premissões em servidores remotos

No seguimento da publicação anterior, foi-me sugerido uma situação um pouco diferente, que é quando necessitamos de fazer exactamente a mesma operação mas com recurso à consola.

É verdade que é possível conectar um software de gestão de base de dados ao servidor remoto, mas também é verdade que nem sempre que tem servidor disponibiliza esse acesso assim como pode aumentar o risco de ataque ao sistema.

A informação que se segue foi testada e elaborada com recurso um MySQL Server instalado num computador com Ubuntu Linux, mas o importante é existir um acesso ao servidor.

Aceder ao MySQL

 mysql -u root -p 
após o enter aguarda que se escreva a password de acesso.
Nota: exemplo com root, mas pode ser qualquer utilizador desde que tenha acesso total

Após aceder com sucesso ao mysql a consola passa ter a informação que passa a aceitar comandos para o mysql aparecendo no inicio mysql> 



Criar novo utilizado

 CREATE USER 'blogUser'@'localhost' IDENTIFIED BY 'uma_password'; 

CREATE USER - É o comando principal
- Entre plicas ( ' ) o nome do utilizador seguido de um at (arroba) @ e entre plicas o localhost
Nota: se quiser acesso exterior em vez de localhost deverá usar o símbolo de percentagem (%) 
IDENTIFIED BY - Refere que o utilizador vai ter uma password de acesso
- Entre plicas a password
- Não esquecer de terminar com ponto e virgula (;) se não a consola ao carregar no enter vai passar para uma linha com o simbolo -> se isto acontecer, basta aplicar o ; e enter.

No fim deverá receber a seguinte mensagem na janela
 Query OK, 0 rows affected (0.00 sec) 

Agora saia da consola do MySQL
 quit 

Mais informações aqui

Criar ficheiro de SQL

Para usar o código de criar as permissões referido na publicação anterior  pode fazer de várias maneiras:
- Usar um editor de texto na consola (vi, nano, pico),
- Enviar o ficheiro por SSH ou FTP

Nota: Garanta que sabe a localização de onde coloca o ficheiro.

Executar ficheiro SQL e exportar o resultado

Para executar o ficheiro escreva o seguinte comando:
 mysql -u root -p 'blogBD' < /dir/sql/ficheiro.sql > /dir/sql/resultado.sql 

- Sendo 'blogBD' o nome da base de dados de destino

A consola volta a pedir a password, e se tudo estiver correcto volta à condição inicial, sendo que o ficheiro resultado.sql foi criado na directoria indicada.

Verificar ficheiro SQL

Agora é necessário dar uma vista de olhos no ficheiro, navegue até à pasta, e edite o ficheiro, neste caso é mesmo necessário porque o titulo da coluna também é exportada, logo tem que remover a 1ª linha do ficheiro.

Para tornar o processo mais rápido, pode adicionar no fim do ficheiro o comando:
 FLUSH PRIVILEGES; 

Executar ficheiro SQL

Por fim, com o ficheiro já operacional, basta indicar o seguinte comando:
 mysql -u root -p 'blogBD' < /dir/sql/resultado.sql; 

- Sendo 'blogBD' o nome da base de dados que vai receber a informação

Testar novo utilizador

Agora que o novo utilizador foi criado e os privilégios atribuídos, pode fazer o teste fazendo login e acedendo à base de dados, com os seguintes comandos:
 mysql -u blogUser -p 
 USE blogBD 
 SHOW TABLES 

--------------------------------------------
Bom Fim de Semana, se tiverem questões disponham e comentar ou enviar email.

Sem comentários:

Enviar um comentário