1. Home
  2. VPS Locaweb
  3. Como criar usuário MySQL e conceder privilégios?

Como criar usuário MySQL e conceder privilégios?

O MySQL é um dos sistemas de gerenciamento de banco de dados mais populares do mundo. Por isso, é fundamental saber como gerenciar usuários e privilégios de forma segura e eficiente.

Neste guia, você vai aprender como criar usuários no MySQL e como configurar as permissões adequadas para garantir a segurança e a funcionalidade do seu banco de dados.

Passo a passo para criar um novo usuário no MySQL

A criação de usuários no MySQL é uma tarefa essencial para gerenciar o acesso ao banco de dados. Vamos explorar o processo, detalhadamente, a começar pela conexão ao sistema.

Conectar-se ao MySQL como administrador

Para criar novos usuários, você precisa acessar o MySQL com privilégios de administrador.

Existem duas formas principais de fazer isso. Veja!

1. Via linha de comando:

sql

mysql -u root -p

2. Via terminal do sistema operacional:

bash

sudo mysql

Após executar um desses comandos, você precisará inserir a senha do usuário root (caso tenha definido uma durante a instalação).

Comando para criar o usuário

A sintaxe básica para criar um novo usuário no MySQL é:

sql

CREATE USER ‘nome_usuario’@’host’ IDENTIFIED BY ‘senha’;

Explicação:

    • nome_usuario: é o nome que você deseja dar ao usuário;
    • host: especifica de onde o usuário pode se conectar;
    • senha: é a senha de acesso do usuário.

Veja alguns exemplos práticos de criação de usuários.

1. Criar usuário para acesso local:

sql

CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'senha123';

2. Criar usuário para acesso remoto:

sql

CREATE USER 'dev_user'@'%' IDENTIFIED BY 'senha123';

3. Criar usuário com endereço IP específico:

sql

CREATE USER 'dev_user'@'192.168.1.100' IDENTIFIED BY 'senha123';

O caractere ‘%’ permite que o usuário se conecte de qualquer host. Use com cautela e apenas quando necessário.

Conceder privilégios a um usuário MySQL

Após criar um usuário, é essencial conceder as permissões apropriadas para que ele possa realizar as operações necessárias no banco de dados.

Permissões básicas e específicas

O MySQL oferece uma variedade de privilégios que podem ser concedidos aos usuários. Confira, a seguir, alguns dos principais.

Privilégios de leitura

    • SELECT: permite consultar dados;
    • SHOW DATABASES: permite visualizar bancos de dados disponíveis;
    • SHOW VIEW: permite visualizar views.

Privilégios de escrita

    • INSERT: permite inserir dados;
    • UPDATE: permite atualizar dados;
    • DELETE: permite excluir dados.

Privilégios estruturais

    • CREATE: permite criar tabelas ou databases;
    • ALTER: permite modificar estruturas;
    • DROP: permite excluir tabelas ou databases;

Para conceder privilégios específicos, use a seguinte sintaxe:

sql

GRANT tipo_privilegio ON database_name.table_name TO 'usuario'@'host';

Veja alguns exemplos práticos.

1. Conceder permissão de leitura em todas as tabelas de um banco:

sql

GRANT SELECT ON database_name.* TO 'dev_user'@'localhost';

2. Conceder múltiplas permissões em uma tabela específica:

sql

GRANT SELECT, INSERT, UPDATE ON database_name.table_name TO 'dev_user'@'localhost';

Conceder todos os privilégios

Para situações em que o usuário precisa ter acesso total a um banco de dados ou a todos os bancos, você pode usar o comando GRANT ALL PRIVILEGES:

sql

GRANT ALL PRIVILEGES ON database_name.* TO 'dev_user'@'localhost';

Para conceder todos os privilégios em todos os bancos:

sql

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

Comando FLUSH PRIVILEGES

Após conceder ou modificar privilégios, é importante executar o comando FLUSH PRIVILEGES para que as mudanças tenham efeito imediato:

sql

FLUSH PRIVILEGES;

Esse comando recarrega as tabelas de privilégios do MySQL e garante que as novas permissões sejam aplicadas corretamente.

Como verificar e revogar privilégios de um usuário?

É fundamental manter um controle sobre os privilégios concedidos aos usuários para garantir a segurança do seu banco de dados.

Comando para visualizar privilégios concedidos

Para verificar os privilégios de um usuário específico, utilize:

sql

SHOW GRANTS FOR 'usuario'@'host';

Esse comando mostrará todas as permissões concedidas ao usuário, o que inclui:

    • Privilégios globais;
    • Privilégios por banco de dados;
    • Privilégios por tabela;
    • Privilégios por coluna.

Remover privilégios específicos

Para revogar privilégios de um usuário, use o comando REVOKE:

sql

REVOKE tipo_privilegio ON database_name.table_name FROM 'usuario'@'host';

Confira exemplos práticos de revogação de privilégios.

1. Remover privilégio específico:

sql

REVOKE INSERT ON database_name.* FROM 'dev_user'@'localhost';

2. Remover todos os privilégios:

sql

REVOKE ALL PRIVILEGES ON *.* FROM 'dev_user'@'localhost';

3. Remover privilégios de um banco específico:

sql

REVOKE ALL PRIVILEGES ON database_name.* FROM 'dev_user'@'localhost';

Lembre-se de sempre executar FLUSH PRIVILEGES após revogar permissões.

Como criar usuário MySQL via phpMyAdmin?

O phpMyAdmin oferece uma interface gráfica intuitiva para gerenciar bancos de dados MySQL e facilita muito a criação de usuários e privilégios, além de ser especialmente útil para quem prefere uma interface visual em vez de comandos SQL.

Para criar usuários siga os seguintes passos:

    1. Acesse o phpMyAdmin e faça login como administrador;
    2. Clique na aba “Contas de usuário” ou “User accounts”;
    3. Clique em “Adicionar conta de usuário” ou “Add user account”;
    4. Preencha os campos: nome do usuário, host (localhost para acesso local ou % para qualquer host) e senha;
    5. Na seção “Privilégios globais”, marque as permissões desejadas ou use “Check all” para conceder todas;
    6. Clique em “Executar” ou “Go” para criar o usuário.

Para editar privilégios via phpMyAdmin

    • Localize o usuário na lista de contas;
    • Clique no ícone de “Privilégios”;
    • Marque ou desmarque as permissões desejadas;
    • Clique em “Executar” para salvar.

Dicas de segurança para gestão de usuários MySQL

A segurança é fundamental ao gerenciar usuários MySQL. Aqui estão as principais práticas recomendadas. Veja!

Privilégios mínimos necessários

    • Conceda apenas as permissões essenciais para cada usuário;
    • Evite dar privilégios globais desnecessários;
    • Use permissões específicas por banco/tabela ao invés de privilégios gerais;
    • Exemplo: para um usuário que só precisa ler dados, conceda apenas SELECT.

Monitoramento e auditoria

    • Ative os logs de acesso do MySQL;
    • Configure alertas para tentativas de acesso suspeitas;
    • Monitore regularmente as atividades dos usuários;
    • Mantenha registros de todas as alterações de privilégios;
    • Realize auditorias periódicas nos logs.

Boas práticas de acesso

    • Limite o acesso remoto apenas aos IPs necessários;
    • Use SSL/TLS para conexões remotas;
    • Evite usar o usuário root para operações rotineiras;
    • Crie usuários específicos para cada aplicação/sistema;
    • Bloqueie contas após múltiplas tentativas falhas de login.

Conclusão

O gerenciamento adequado de usuários e privilégios no MySQL é fundamental para ter segurança e eficiência no seu banco de dados. Ao seguir as práticas recomendadas neste guia, você pode:

    • Criar usuários de forma segura;
    • Conceder privilégios específicos baseados nas necessidades;
    • Monitorar e gerenciar permissões existentes;
    • Revogar acessos quando necessário.

Para uma gestão ainda mais robusta do seu banco de dados MySQL, considere utilizar um Servidor VPS que oferece maior controle e flexibilidade.

Para mais informações sobre gerenciamento de banco de dados, confira o nosso guia completo sobre MySQL.

Lembre-se sempre de seguir as melhores práticas de segurança ao gerenciar usuários e privilégios no MySQL e mantenha o princípio do menor privilégio possível para cada usuário.

Perguntas frequentes

Como adicionar um novo usuário no MySQL?

Clique aqui: Como adicionar um novo usuário no MySQL?

Acesse o MySQL como administrador e use o comando:
CREATE USER ‘novo_usuario’@’localhost’ IDENTIFIED BY ‘senha’; GRANT SELECT, INSERT ON banco_dados.* TO ‘novo_usuario’@’localhost’; FLUSH PRIVILEGES;

Como criar um usuário no SQL?

Clique aqui: Como criar um usuário no SQL?

No MySQL, use o comando básico:
CREATE USER ‘usuario’@’localhost’ IDENTIFIED BY ‘senha123‘;

Como fazer login no MySQL?

Clique aqui: Como fazer login no MySQL?

Via linha de comando: mysql -u seu_usuario -p.
Digite a sua senha quando solicitado.

Como criar usuário MySQL e conceder privilégios?

Clique aqui: Como criar usuário MySQL e conceder privilégios?

CREATE USER ‘usuario’@’localhost’ IDENTIFIED BY ‘senha’; GRANT ALL PRIVILEGES ON banco_dados.* TO ‘usuario’@’localhost’; FLUSH PRIVILEGES;

Este artigo foi útil ?

Artigos relacionados