MySQL fornece permissões (privilégios ), com base no nível de operação do usuário. Privilégios administrativos gerenciar a operação do servidor. Privilégios de banco de dados são específicos para as bases de dados e os objetos com neles. Privilégios de objeto se aplica a tabelas, índices , visões e rotinas armazenadas no banco de dados . Esses privilégios são dadas para um usuário com o comando GRANT e revogada com o comando REVOKE . Os Privilégios
O manual MySQL Reference tem uma lista completa de privilégios disponíveis . Alguns dos privilégios mais comuns são:
A ALL privilégio concede um usuário todo o conjunto de privilégios disponíveis em um determinado nível de privilégio . A nível global , o usuário tem o conjunto completo de privilégios disponíveis . Ao nível da tabela , o usuário tem apenas os privilégios nível de tabela .
O privilégio CRIAR permite ao usuário criar novos bancos de dados e tabelas.
O privilégio GOTA permite ao usuário remover bancos de dados existentes e tabelas.
o privilégio eXECUTE permite que um usuário execute stored procedures .
o privilégio INSERT permite ao usuário inserir registros ou dados em uma tabela.
o privilégio SELECT permite que o usuário use a instrução SELECT para recuperar dados de tabelas.
o privilégio SHOW DATABASE permite ao usuário ver os nomes de banco de dados com a instrução SHOW DATABASE.
o privilégio SHUTDOWN permite que o usuário desligar o banco de dados com o comando " mysqladmin shutdown " .
o comando GRANT
para usar o comando GRANT, você deve ter os privilégios que você quer dar para outro usuário e deve ter o privilégio GRANT OPTION. Uma declaração típica GRANT é :
GRANT ALL PRIVILEGES ON * * TO 'user' @ '%' WITH GRANT OPTION ;
Esta declaração diz dar " ALL PRIVILEGES " ao nível global. para o usuário "mysql" em todos os hosts com o " OPÇÃO GRANT ."
Se você quiser que o usuário só tem privilégios em um único banco de dados , você vai usar o " banco de dados. * " sintaxe , onde " base de dados " é o nome da base de dados . Por exemplo :
GRANT SELECT, INSERT no banco de dados * TO 'user' @ 'hostname' ;
Para conceder privilégios somente de tabela , especifique a tabela com a sintaxe " bancodedados.tabela " . tais como:
GRANT ALL ON bancodedados.tabela TO 'user' @ 'hostname' ;
o comando REVOKE
como o comando GRANT , você deve ter os privilégios que você quer revogar do usuário , juntamente com o privilégio GRANT OPTION. Para revogar todos os privilégios de um usuário a sintaxe seria :
REVOKE ALL PRIVILEGES , GRANT opção 'user' ;
Outras instruções REVOKE têm a mesma sintaxe que a instrução GRANT. Por exemplo, para remover os privilégios de INSERT em um banco de dados de um usuário, a declaração seria:
dados REVOKE INSERT ON * FROM 'user' ;
Você pode verificar que os privilégios foram. concedidos ou revogados corretamente com os "MOSTRAR SUBSÍDIOS PARA 'user' ;" . Declaração