Você está na página 1de 3

04/10/2021 09:40 Criar usuário no MySQL e conceder permissões | Receitas de Código

Criar usuário no MySQL e conceder permissões


Neste post vou mostrar como criar usuários no MySQL e conceder permissões ao usuário
para acessar um banco de dados específico ou todos

 por Wolmir Cezer Garbin - 29 de nov de 2018 - Banco de Dados - TUTORIAL

Última atualização em: 29 de nov de 2018 | 39631 Visualizações

O MySQL permite trabalhar vários quesitos de segurança, e na minha opinião pessoal, o primeiro é a organização dos usuários
versus acessos.

Uma regra muito importante, é nunca liberar o usuário root/root para acessar o servidor de qualquer local, para isso neste
tutorial vou mostrar como criar usuários no MySQL e conceder permissões específicas ao usuário. 

Acessar o MySQL

Antes de mais nada, precisamos acessar o MySQL, para isso abra o terminal ou o cmd no caso do windows e digite:

mysql -u root -p

Tecle enter e informe a senha. Após digitar a senha tecle enter novamente para acessar o MySQL. 

Criando novo usuário no MySQL

A primeira coisa que devemos fazer é criar um usuário juntamente com sua senha de acesso.

Note que utilizaremos apenas comandos e não uma ferramenta em si.

No exemplo, criaremos um usuário chamado wolmir com a senha w123. O comando que permite criar o usuário no MySQL é:

CREATE USER 'wolmir'@'localhost' IDENTIFIED BY 'w123';

https://receitasdecodigo.com.br/banco-de-dados/criar-usuario-no-mysql-e-conceder-permissoes 1/3
04/10/2021 09:40 Criar usuário no MySQL e conceder permissões | Receitas de Código

Note que sua senha deve ser mais complexa para dar mais segurança ao seu acesso, principalmente em caso de
permissão de acesso a partir de qualquer local.

Neste comando, será criado o usuário wolmir e este poderá acessar o MySQL a partir da máquina local, ou seja, localhost. Se
quiser permitir acesso a partir de qualquer ip, pode usar o comando:

CREATE USER 'wolmir'@'%' IDENTIFIED BY 'w123';

Conceder permissão a usuário no MySQL

Após criar um usuário, ainda é necessário conceder permissões de acesso. As permissões podem restringir o acesso a um banco
de dados específica ou ainda atribuir apenas alguns privilégios.

Primeiro vou mostrar como conceder acesso a um banco de dados específico. Para isso criaremos o banco de dados teste.

create database teste;

Após criar o banco de dados, podemos atribuir as permissões ao usuário wolmir. O comando utilizado é:

GRANT ALL PRIVILEGES ON teste.* TO 'wolmir'@'localhost';

A palavra reservada ALL atribui todos os privilégios ao banco de dados teste para o usuário wolmir a partir dolocalhost.

Para entender melhor o comando GRANT veja o que se refere cada parte do comando:

GRANT <tipo de permissão> ON <nome da base de dados>.<nome da tabela> TO '<nome do usuário>'@'localhost';

Entendido o comando podemos observar que:

Caso queira dar acesso a todos os bancos de dados para o usuário pode usar * em <nome da base de dados> ou apenas o nome de um
banco de dados como foi o caso do exemplo acima.
Caso queira dar acesso a apenas uma tabela do banco de dados em questão, pode adicionar o nome da tabela em <nome da
tabela> ou *para todas as tabelas.
E por último, caso queira dar uma permissão específica para o usuário pode informar em <tipo de permissão> ou usar a palavra ALL
PRIVILEGES para conceder todas as permissões.

Principais tipos de permissões

Para o campo <tipo de permissão> elencamos as principais que pode utilizar para conceder acesso:

Privilégio Explicação

ALL dá a um usuário do MySQL todo o acesso a uma determinada base de dados (ou se nenhuma base de dados for selecionada,
PRIVILEGES todo o sistema)
https://receitasdecodigo.com.br/banco-de-dados/criar-usuario-no-mysql-e-conceder-permissoes 2/3
04/10/2021 09:40 Criar usuário no MySQL e conceder permissões | Receitas de Código

Privilégio Explicação

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
CREATE permite criar novas tabelas ou bases de dados
DROP permite deletar tabelas ou bases de dados
GRANT
permite conceder ou revogar privilégios de outros usuários
OPTION

Recarregar todos os privilégios

Após criar usuários ou conceder permissões, precisa recarregar todos os privilégios ao MySQL. Para isso use o comando:

FLUSH PRIVILEGES;

Criar usuário e conceder permissões no MySQL

Também é possível criar o usuário e conceder permissões apenas em um comando no MySQL. Para isso use o comando:

GRANT ALL ON <NomeDoBancoDeDados>.* TO '<NomeDoUsuario>'@'%' IDENTIFIED BY '<SenhaDoUsuario>' WITH GRANT OPTION;

Lembre-se de alterar as variáveis que estão entre <> no comando.

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.

https://receitasdecodigo.com.br/banco-de-dados/criar-usuario-no-mysql-e-conceder-permissoes 3/3

Você também pode gostar