Criando um usuário no MySQL

Como criar um usuário no MySQL

O comando “create user” é a forma mais rápida de criar um usuário no MySQL e definir sua senha, porém não existe uma tratativa sobre os direitos desse novo usuário:

mysql> CREATE USER fulano IDENTIFIED BY 'senha';

Saia do prompt MySQL e entre com o usuário novo:

# mysql -ufulano -p
mysql>

Você pode também excluir o usuário:

mysql> DROP USER fulano;

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';

Sobre a DANRESA – Com mais de 14 anos de experiência no mercado de TI, a DANRESA é uma Consultoria de Informática com atuação em todo o território nacional, focada em duas linhas de serviços principais e complementares: Fábrica de SoftwareDesenvolvimento de Sistemas, Infraestrutura e Outsourcing de TI. A área de Desenvolvimento é voltada a Projetos de Negócios por meio de Sistemas Personalizados de TI de acordo com a especificidade de cada cliente, realizando levantamento dos processos, análise e programação através de sua fábrica de software ou com profissionais alocados no cliente. Já a área de Infraestrutura inclui serviços como Outsourcing de TI, Gerenciamento e Monitoramento de equipamentos de missão crítica como Servidores, Roteadores, Switches e Links de conectividade, Instalação e Manutenção de pontos de rede, voz e dados, Suporte Técnico por meio de Service Desk – em que os atendimentos são feitos por uma equipe especializada e certificada nas práticas do ITIL – entre outros. Com cerca de 400 colaboradores e 100 clientes, a DANRESA possui em sua carteira empresas como ANFAVEA, BASF (Suvinil), Ernst Young, Sem Parar, Schneider, CBC, Eurobras, Avape, Alves Feitosa Advogados, Instituto Airton Senna, Grupo Kaduna, CVC, WoodBrook, Salles Leite (Iguaçu Energia ), etc. Para mais informações, ligue: (11) 4452-6450