Mandic Wiki

Atribuindo permissões para usuário MySQL

O 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

Remocação de Tabelas/Bases

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;

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

GRANT select. insert, update ON mandic_database.* TO 'mandic'@'localhost' WITH GRANT OPTION;

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

SHOW GRANTS FOR 'mandic'@'localhost';

 grant select insert update

 Obs.: O * representa tudo, no exemplo acima definimos as permissões de SELECT, INSERT e UPDATE na base de dados mandic_database em todas as suas tabelas.

 

Obs[2].: Para definir as mesmas permissões para conexões externas, devemos repetir o comando e substituir o localhost por % .

 

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

GRANT ALL PRIVILEGES ON mandic_database.* TO 'mandic'@'localhost' WITH GRANT OPTION;

grant all

 Para remover uma permissão é utilizado o comando REVOKE, ex.:

REVOKE DROP, DELETE ON mandic_database.* FROM 'mandic'@'localhost';

No exemplo acima estamos revogando/removendo as seguintes permissões: DROP e DELETE do usuário mandic sobre a base de dados mandic_database.

 revoke drop delete

 Obs.: Podemos ver que o SHOW GRANTS muda a visualização das permissões quando revogamos uma permissão do usuário, com isso ele lista quais as permissões que este usuário possui.

 

Também podemos revogar/remover todas as permissões do usuário utilizando o parametro ALL PRIVILEGES, ex.:

 

REVOKE ALL PRIVILEGES ON mandic_database.* FROM 'mandic'@'localhost';

revoke all

Obs.: A permissão USAGE significa Sem Privilégios.

 

Voltar