Permissões de usuários no MYSQL

10 Comments

Direitos de acesso no MySQL

O grant possui as seguintes opções de acesso:

* ALL/ALL PRIVILEGES – Simboliza todos os privilégios abaixo;
* ALTER – Permite alterar a estrutura de tabelas;
* ALTER ROUTINE – Permite alterar e excluir stored procedures/functions;
* CREATE – Permite criar banco de dados e tabelas;
* CREATE ROUTINE – Permite criar stored procedures/functions;
* CREATE TEMPORARY TABLES – Permite a criação de tabelas temporárias em expressões SQL que utilizam esse recurso;
* CREATE USER – Permite criar e gerenciar usuários;
* CREATE VIEW – Permite criar visões;
* DELETE – Permite excluir informações;
* DROP – Permite excluir estruturas (bases e tabelas);
* EVENT – Permite criar event schedulers;
* EXECUTE – Permite executar stored procedures;
* FILE – Permite ler e escrever arquivos no sistema;
* GRANT – Permite cadastrar seus privilégios para outros usuários;
* INDEX – Permite o gerenciamento de índices;
* INSERT – Permite inserir informações em tabelas;
* LOCK TABLES – Permite bloquear tabelas;
* PROCESS – Permite visualizar e finalizar processos do MySQL;
* RELOAD – Permite recarregar bancos de dados;
* REPLICATION CLIENT – Permite solicitar replicação;
* REPLICATION SLAVE – Permite replicar suas informações;
* SELECT – Permite consultas;
* SHOW DATABASES – Permite visualizar todas as estruturas dos bancos existentes;
* SHOW VIEW – Permite visualizar os códigos de criação de visões;
* SHUTDOWN – Permite desligar o servidor MySQL;
* SUPER – Permite configurar os dados do servidor MASTER (em caso de replicação);
* TRIGGER – Permite criar e gerenciar triggers;
* UPDATE – Permite alterar informações em tabelas;
* USAGE – Permite utilizar comandos básicos.

A sintaxe do grant é a seguinte:


grant <privilégios> on <banco>.<tabela> to '<usuario>'@'<dominio>' identified by '<senha>'

Agora criaremos um usuário com os mesmos privilégios do root:


mysql> CREATE USER dba;
mysql> GRANT ALL PRIVILEGES ON *.* TO dba@\'localhost\' IDENTIFIED BY 'passworddba';

E um usuário para somente leitura:


mysql> CREATE USER estagiario;
mysql> GRANT SELECT ON minha_base.* TO 'estagiario'@'%' IDENTIFIED BY 'estag';

O parâmetro “%” representa qualquer domínio, ou seja, o usuário estagiário para consultar todas as tabelas de “minha_base” mediante a senha “estag”. Caso você deseje consultar os privilégios do usuário poderemos utilizar o seguinte comando (repare que no campo de senha é gerado um hash, como explicado anteriormente):


mysql> SHOW GRANTS FOR 'estagiario'@'%';

GRANT SELECT ON `minha_base`.* TO 'estagiario'@'%'

Sempre que mudar/setar algum tipo de permissão no MySQL, o comando de atualiza a lista de privilégios faz-se necessário:


mysql> FLUSH PRIVILEGES;

Caso o estagiário esteja abusando com os “selects” da vida, podemos retirar os direitos de acesso com o comando REVOKE, veja:


mysql> REVOKE SELECT ON minha_base.* FROM 'estagiario'@'%';

Ainda se for necessário, podemos excluir ou alterar a senha desse usuário:


mysql> SET PASSWORD FOR 'estagiario' = PASSWORD('nova_senha');
mysql> DROP USER 'estagiario';

10 Comments (+add yours?)

  1. Christian Louboutin
    jun 12, 2010 @ 05:06:17

    great share, great article, very usefull for me…thank you

  2. Best Registry Cleaner
    jun 14, 2010 @ 04:28:05

    i have enjoyed reading thank for sharing your story Greeting.

  3. CicsHoise
    jun 26, 2010 @ 13:58:44

    learned a lot

  4. hannah montana fashion
    jul 08, 2010 @ 14:18:50

    Hello there! I hooked to your message but yet I did not procure a trackback. Could certainly you explain me personally what’s taking place?

  5. Home Insurance
    jul 10, 2010 @ 14:00:09

    We are extremely pleased to discover your blog we had been browsing for hours on end just for this info regarding yorkshire photographers. It isn’t regularly you see this quality of knowledge online I cannot thank you sufficiently.

  6. Hannah Montana
    jul 11, 2010 @ 13:52:09

    Do you provide certain type of gift box where I may well blast monetary gift in PayPal? I would want to reward you for your writing. :)

  7. Julio S. A.
    jul 15, 2010 @ 11:25:36

    Otro su gran cartel, felicidades, sigues recto iluminada tener ideas para escribir en su Sitio Web .

  8. Beauty Tea
    jul 30, 2010 @ 18:18:29

    great experience, dude! thanks for this great post wow… it’s very wonderful report.

  9. ШОКИРУЮЩЕЕ
    dez 06, 2010 @ 01:04:32

    Thanks за материалы! :)
    Respect blog.caosdevelopers.com

  10. phentermine hcl
    dez 20, 2010 @ 19:23:13

    this really answered my problem, thank you!

Leave a Reply