Pular para o conteúdo principal

MySQL: Como criar um Novo Usuário e Conceder Permissões

Criar usuários no MySQL

Sobre o MySQL

O MySQL é um sistema de gerenciamento de banco de dados open source que ajuda os usuários a armazenar, organizar, e posteriormente, recuperar dados.
Ele possui uma variedade de opções para conceder a usuários específicos permissões diferenciadas dentro de tabelas e bases de dados, veremos aqui um breve resumo de algumas das muitas opções.

Como criar um Novo Usuário

Para criar um usuário, precisamos que o servidor MySQL esteja instalado e funcionando normalmente. Vamos acessar o servidor via linha de comando.

Login no MySQL

Para logar no MySQL via linha de comando, digite:

 mysql -u root -p

Digite a senha do usuário root e tecle ENTER.

Observação:



Você estará no prompt de comando do MySQL e visualizará algo como:

 mysql>

Vamos criar um novo usuário dentro do shell do MySQL:

 CREATE USER 'novousuario'@'localhost' IDENTIFIED BY 'password';

Observação: 
  1. Altere o termo novousuario para o nome.de.seu.usuario a ser criado no banco e a senha password para a nova senha de seu usuário.
  2. Infelizmente, nesse momento o novousuario não tem permissão para fazer nada com as bases de dados. Na verdade, se o novousuario tentar fazer login (com a senha password), ele não será capaz de chegar ao shell do MySQL.

Portanto, a primeira coisa a fazer é fornecer ao usuário o acesso às informações que ele vai precisar.

 GRANT ALL PRIVILEGES ON *.* TO 'novousuario'@'localhost';

Os asteriscos (*) neste comando, referem-se ao banco de dados e à tabela (respectivamente) que eles podem acessar. 
Este comando específico permite ao usuário ler, editar, executar e realizar todas as tarefas em todas as bases de dados e tabelas.

Para definirmos privilégios específicos para um banco, por exemplo:
 GRANT ALL PRIVILEGES ON bancoNovo.* TO 'novousuario'@'localhost';

Uma vez finalizadas as permissões que você quer definir para os seus novos usuários, certifique-se sempre de recarregar todos os privilégios.
 FLUSH PRIVILEGES;

Suas alterações agora estarão em vigor.

Como conceder permissões de usuário diferentes

Aqui está uma pequena lista de outras possíveis permissões comuns que os usuários podem utilizar.
ALL PRIVILEGES - como vimos anteriormente, isso daria a um usuário do MySQL todo o acesso a uma determinada base de dados (ou se nenhuma base de dados for selecionada, todo o sistema)
CREATE- permite criar novas tabelas ou bases de dados
DROP- permite deletar tabelas ou bases de dados
DELETE - permite deletar linhas das tabelas
INSERT - permite inserir linhas nas tabelas
SELECT - permite utilizar o comando Select para ler bases de dados
UPDATE - permite atualizar linhas das tabelas
GRANT OPTION - permite conceder ou revogar privilégios de outros usuários


Para dar uma permissão a um usuário específico, você pode utilizar esta estrutura:

 GRANT [tipo de permissão] ON [nome da base de dados].[nome da tabela] TO ‘[nome do usuário]’@'localhost’;


Observação:
  • Se você quer dar a ele acesso a qualquer base de dados ou a qualquer tabela, certifique-se de colocar um asterisco (*) no lugar do nome da base de dados ou do nome da tabela.
  • Cada vez que você atualizar ou mudar uma permissão certifique-se de utilizar o comando Flush Privileges.

Se você precisar revogar uma permissão, a estrutura é quase idêntica a concedê-la:
 REVOKE [tipo de permissão] ON [nome da base de dados].[nome da tabela] FROM ‘[nome do usuário]’@‘localhost’;

Assim como você pode excluir bases de dados com o DROP, você pode também utilizar o DROP para excluir um usuário completamente:
 DROP USER ‘demo’@‘localhost’;

Para testar seu novo usuário, faça logout digitando:
 quit;

Faça login com este comando no terminal:
 mysql -u [nome do usuário] -p

Abraços,

Tags: MySQL, command line, usuário, senha, password, user
by Alexandre LLemes

Comentários

Postagens mais visitadas deste blog

Zabbix Appliance 3.x - senha padrão

Senha padrão do appliance Zabbix Sobre o Zabbix Zabbix  é um software que monitora diversos parâmetros de uma rede como a integridade e desempenho dos servidores. Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados, e usa um mecanismo de notificação flexível que permite aos usuários configurar e-mail com alertas para qualquer evento, o que permite uma reação rápida para os problemas do servidor. ( Wikipedia ) Para baixar o appliance zabbix, acesse a documentação: https://www.zabbix.com/documentation/3.0/pt/manual/appliance Para o front-end acesse: http://localhost/zabbix A senha padrão para o front-end é: Admin zabbix E para o console é: appliance zabbix Tags: Zabbix, monitoramento, appliance by Alexandre LLemes

Modificando a pasta HOME do vagrant

Problemas com máquinas virtuais vagrant Sobre o Vagrant Vagrant é um produto de software de código aberto para construir e manter ambientes portáteis de desenvolvimento de software virtual, [4], e. Para VirtualBox, Hyper-V, Docker, VMware e AWS. A idéia central por trás disso está no fato de que a manutenção do ambiente de virtualizações torna-se cada vez mais difícil em um grande projeto de desenvolvimento de software. O Vagrant simplifica o gerenciamento de configuração de software necessário para aumentar a produtividade do desenvolvimento. Vagrant está escrito na linguagem Ruby, mas seu ecossistema é compatível com o desenvolvimento em quase todos os principais idiomas.  ( Wikipedia ) Podemos alterar a pasta HOME do Vagrant de 2 (duas) maneiras: Através da variável ambiente VAGRANT_HOME; Modificando o arquivo de ambiente do Ruby. Definindo a variável ambiente VAGRANT_HOME Por padrão, o Vagrant utiliza a pasta   ~/.vagrant.d como a pasta sua pasta...

Laravel framework permissão de arquivo - seguro

Laravel - diretórios O framework Laravel necessita de escrita nos  diretórios storage e bootstrap/cache . sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache Observação: Não esqueça de modificar o dono da pasta (owner) do seu projeto para o apache. sudo chown www-data:www-data . -R Muitas das vezes com o servidor em produção e algum problema acontece, de imediato, para voltar o funcionamento, roda-se:  sudo chmod -R 755 storage bootstrap/cache E bom trabalho! Tags : Laravel, PHP,  Desenvolvimento by Alexandre LLemes