Pular para o conteúdo principal

Como dar privilegios a um usuário sobre apenas um determinado Banco de Dados no MySQL

Neste tutorial será mostrado como criar um usuário em um servidor MySql e dar permissão para que ele tenha acesso apenas a um determinado banco de dados.
Primeiro criaremos um banco como exemplo para dar acesso a um usuário.
Para logar no mysql-server com a conta de root usando o mysql-client digite no terminal:
# mysql -h [hostname] -u root -p

O parâmetro -h é usado para especificar o host em que está instalado o mysql server. [hostname] deve ser substituído pelo IP ou o endereço da máquina aonde está o banco. Caso você esteja na máquina aonde ele está instalado essa opção não precisa ser colocada.
Após digitar o comando aperte [Enter] e ele pedirá a senha de root do mysql, digite a senha e você estará logado no servidor.
Para criar o banco de dados que será usado como teste use o seguinte comando:
create database teste;

Iremos criar uma tabela para deixar como teste, para é primeiro necessário selecionar o banco que será usado e depois criar a tabela, para isso digite:
use teste;
create table tableteste
(
id int unsigned not null auto_increment primary key,
nome varchar(20),
telefone varchar(20)
);

Tendo criado o banco e a tabela podemos passar aos privilégios. Para dar privilégios a um usuário no mysql usamos o comando grant ou revoque para tirar.
Vamos criar um usuário chamado “teste” e dar todos os privilégios a ele somente sobre o banco “teste”. Para isso é utilizado o seguinte comando:
grant all privileges on teste.* to teste identified by '123456';

O comando acima dá todos os privilégios no banco de dados teste para um usuário chamado teste. O parâmetro identified especifica a senha desse novo usuário. O “teste.*” está dizendo que os privilégios serão dados sobre o banco “teste” em todas as tabelas, o “*” está sendo usado como um coringa que pode representar qualquer coisa.
Também poderia ser acrestado ao final dessa linha os comandos:
with grant option;

Isso daria ao usuário “teste” o direito de dar os mesmos privilégios que ele possui a outros usuários. O comando completo ficaria assim:
grant all privileges on teste.* to teste identified by '123456' with grant option;

Se tudo correr bem o mysql retornará a seguinte mensagem (ou algo pareceido):
Query OK, 0 rows affected (0.04 sec)

Agora para testar faça logoff do usuário root usando o comando “quit” e entre novamente usando o usuário “teste”. Para isso digite:
mysql -h [hostname] -u teste -p

Quando pedir a senha digite “123456” (sem as aspas). Digite o comando “show databases” para mostrar os bancos de dados a que você tem acesso. Você verá que só irá aparecer o banco teste e outro banco com informações do sistema. Daí você pode fazer outros testes criando novas tabelas e inserindo linhas nas tabelas para perceber que o usuário “teste” tem total liberdade apenas com o banco “teste”.

Essa é apenas um pequena amostra do que pode ser trabalhado com privilégios no MySQL. Em outros tutoriais abordarei mais sobre o assunto.

Comentários

Postagens mais visitadas deste blog

Virtualizando Mikrotik Com VirtualBox

Este texto mostra um passo-a-passo para instalar o mikrotik em uma máquina virtual do VirtualBox, seja somente para testes ou para montar realmente um servidor para a rede. Antes de iniciarmos nossa aventura é interessante visitar o site do Mikrotik e baixar uma imagem ISO que é disponibilizada no site com uma licensa full durante 24h. Iremos utilizá-la para instalar o Mikrotik. Para tanto, vá até a página de download do Mikrotik (http://www.mikrotik.com/download.html), em “select system type” escolha a opção “Other X86 platform” e em “Select Software Type” escolha "stable". Depois basta clicar em “ISO image” e baixar o arquivo. 1 – Abra o Virtual Box e clique em “Novo” para que possamos criar uma nova máquina Virtual onde será instalado o mikrotik.     2 – Irá aparecer uma tela de boas vindas, basta clicar em próximo para ir à próxima fase:     3 – Na próxima tela é dada a opção de escolher o nome da máquina virtual, o S.O. e sua respectiva versão. No cam...

Instalação do RVM no Ubuntu 12.10

Primeiro vamos instalar os pacotes build-essential e git-core:  $ sudo apt-get install build-essential git-core A instalação do RVM é feita utilizando CURL. Se você ainda não tem ele instalado instale-o: $ sudo apt-get install curl Para instalar a RVM use o comando abaixo: $  bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) Agora precisamos adicionar uma linha ao arquivo bashrc para que o bash saiba aonde encontrar a RVM. Para isso execute o comando abaixo, mas certifique-se de substituir ‘fernando’ pelo seu nome de usuário. $ echo   '[[ -s "/home/andre/.rvm/scripts/rvm" ]] && source "/home/andre/.rvm/scripts/rvm"'  >> ~/.bashrc Agora execute:  $ source ~/.bashrc Podemos ver se a RVM está corretamente instalada através do comando:  $ type rvm | head -1 Agora precisamos ver os req...

Google +. Nova rede social do Google

A google anúnciou seu mais novo projeto. Uma nova rede social, chamada Google +. A mesma tem a pretensão de derrubar, nada mais nada menos que o Facebook. O projeto ainda está em fase de desenvolvimento e não está aberta a todos, porém algumas novidades já podem ser conferidas no link abaixo. http://www.google.com/intl/pt-BR/+/learnmore/index.html#circles Confiram!