Baixe o app para aproveitar ainda mais
Prévia do material em texto
* Criando o usuário DBA */ CREATE USER 'dba'@'%' IDENTIFIED BY 'senhaMuitoDificil'; GRANT ALL ON *.* TO 'dba'@'%' WITH GRANT OPTION; /* Criando o usuário FULANO */ CREATE USER 'fulano'@'localhost' IDENTIFIED BY 'outraSenha'; GRANT SELECT,UPDATE,DELETE,INSERT ON BD01.* TO 'fulano'@'localhost'; /* Criando o usuário CICLANO */ CREATE USER 'ciclano'@'192.168.0.45' IDENTIFIED BY 'ehOutraSenha'; GRANT ALL ON BD01.* TO 'ciclano'@'192.168.0.45'; /* Recarregando as permissões na memória do servidor */ FLUSH PRIVILEGES; Sintaxe do comando GRANT A sintaxe completa do statement GRANT pode ser vista aqui. A sintaxe simplificada é: GRANT <privilégios> ON <banco de dados>.<tabela> TO '<usuario>'@'<origem>' IDENTIFIED BY '<senha>'; A definição de senha por IDENTIFIED BY '' é opcional, não sendo necessária se o usuário já existe. Os privilégios, que podem ser definidos separados por vírgula no espaço indicado, são: ALL Equivalente ao conjunto de todos os privilégios abaixo, sem contar o privilégio de GRANT ALTER Permite alterar as tabelas e criar índices ALTER ROUTINE Permite alterar as stored procedures CREATE ROUTINE Permite criar novas stored procedures EXECUTE Permite executar stored procedures CREATE Permite criar tabelas e bancos de dados CREATE TEMPORARY TABLES Permite criar tabelas temporárias CREATE USER Permite criar, remover, alterar e inclusive remover os privilégios de usuários (não é possível conceder novos privilégios) CREATE VIEW Permite criar e alterar views DELETE Permite apagar linhas DROP Permite apagar views, tabelas, e bancos de dados EVENT Permite manipular os eventos FILE Permite com que o usuário crie e leia arquivos armazenados no servidor do banco de dados GRANT OPTION Permite remover e conceder privilégios aos usuários INDEX Permite criar ou apagar índices INSERT Permite inserir novas linhas no banco de dados LOCK TABLES Permite bloquear tabelas onde o usuário possui permissão de leitura PROCESS Concede permissões para ler a lista de processos executando no servidor RELOAD Permite a utilização de comandos FLUSH SELECT Concede permissão de leitura ao banco de dados ou tabelas SHOW DATABASES Permite ler a lista de bancos no servidor SHOW VIEW Permite ler a estrutura (query geradora) das views SUPER Concede poderes administrativos avançados TRIGGER Permite criar, alterar e apagar triggers UPDATE Permite a atualização de linhas no banco de dados USAGE É equivalente a nenhuma permissão Caso você altere as permissões de todos os usuários, inclusive do usuário ROOT e não consiga mais acessar o banco de dados, você pode iniciar o serviço com a opção --skip-grant-tables, conectar com qualquer usuário e senha e executar UPDATE mysql.user SET Password=PASSWORD('NovaSenhaAqui') WHERE User='root';. Note que com esta opção o serviço do MySQL vai ignorar qualquer privilégio e dará acesso total a todos que conectarem ao banco de dados, após trocar a senha reinicie o serviço sem o parâmetro o quanto antes por razões óbvias. - shell> mysql --user=root mysql mysql> INSERT INTO user -> VALUES('localhost','monty',PASSWORD('some_pass'), -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); mysql> INSERT INTO user -> VALUES('%','monty',PASSWORD('some_pass'), -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', -> '','','','',0,0,0,0); mysql> INSERT INTO user SET Host='localhost',User='admin', -> Reload_priv='Y', Process_priv='Y'; mysql> INSERT INTO user (Host,User,Password) -> VALUES('localhost','dummy',''); mysql> FLUSH PRIVILEGES; shell> mysql --user=root mysql mysql> CREATE USER 'custom'@'localhost' IDENTIFIED BY 'obscure'; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON bankaccount.* -> TO 'custom'@'localhost'; mysql> CREATE USER 'custom'@'host47.example.com' IDENTIFIED BY 'obscure'; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON expenses.* -> TO 'custom'@'host47.example.com'; mysql> CREATE USER 'custom'@'server.domain' IDENTIFIED BY 'obscure'; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON customer.* -> TO 'custom'@'server.domain';
Compartilhar