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:
1 | grant <privilégios> on <banco>.<tabela> to '<usuario>' @ '<dominio>' identified by '<senha>' |
1 | mysql> CREATE USER dba; |
2 | mysql> GRANT ALL PRIVILEGES ON *.* TO dba@\ 'localhost\' IDENTIFIED BY ' passworddba'; |
1 | mysql> CREATE USER estagiario; |
2 | mysql> GRANT SELECT ON minha_base.* TO 'estagiario' @ '%' IDENTIFIED BY 'estag' ; |
1 | mysql> SHOW GRANTS FOR 'estagiario' @ '%' ; |
2 |
3 | GRANT SELECT ON `minha_base`.* TO 'estagiario' @ '%' |
1 | mysql> FLUSH PRIVILEGES; |
1 | mysql> REVOKE SELECT ON minha_base.* FROM 'estagiario' @ '%' ; |
1 | mysql> SET PASSWORD FOR 'estagiario' = PASSWORD( 'nova_senha' ); |
2 | mysql> DROP USER 'estagiario' ; |
Nenhum comentário:
Postar um comentário