Manual MyTable

MySQL • Permissões & Grants

Nesta tela você gerencia acessos no MySQL: criação/edição de usuários, atribuição de privilégios (em nível de GLOBAL, DATABASE, TABELA e COLUNA), além de revogar e inspecionar o que cada conta pode fazer. Útil para segregar ambientes (produção/homolog), limitar riscos e atender auditorias.


Abrir “Permissões”

  1. Conecte-se à sua conexão MySQL com uma conta administrativa (ex.: permissões de GRANT OPTION).
  2. No menu principal, toque em Permissões.
  3. Escolha o escopo: Global, Database, Tabela ou Coluna.

Conceitos rápidos

  • Usuário: identificado como nome@host (ex.: app_user@%, relatorio@10.0.0.%).
  • Privilégios: ex. SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, EXECUTE, etc.
  • Escopo: Global > Database > Tabela > Coluna (o mais específico sobrepõe o genérico).
  • GRANT OPTION: permite que o usuário conceda a outros os privilégios que possui naquele escopo.

Criar usuário

  1. Toque em Novo Usuário.
  2. Informe login e host (use % para qualquer origem, ou restrinja por IP).
  3. Defina a senha (política forte recomendada).
  4. (Opcional) Defina expiração ou bloqueio de senha conforme sua política.
  5. Salvar.

Dica: Prefira usuários por aplicação e por ambiente (ex.: app_web_hmg, app_web_prod).


Conceder privilégios (GRANT)

Global

  • Use apenas para administradores (ex.: CREATE USER, RELOAD, PROCESS).
  • Evite conceder privilégios amplos para contas de app.

Database

  1. Selecione o database (ex.: erp).
  2. Escolha o usuário e marque os privilégios (ex.: SELECT, INSERT, UPDATE, DELETE).
  3. (Opcional) Conceda CREATE/ALTER/INDEX para contas de manutenção.
  4. (Opcional) GRANT OPTION se o usuário poderá repassar privilégios.
  5. Salvar.

Tabela

  1. Escolha o database e a tabela.
  2. Marque privilégios restritos àquela tabela (ex.: SELECT apenas).
  3. Salvar.

Coluna

  1. Selecione Tabela → Colunas.
  2. Defina privilégios por coluna (ex.: permitir UPDATE apenas em email e telefone).
  3. Salvar.

Revogar privilégios (REVOKE)

  • Localize o usuário e o escopo (Global/DB/Tabela/Coluna).
  • Desmarque ou remova o privilégio e Salvar.
  • Se necessário, remova o GRANT OPTION para impedir repasses futuros.

Inspecionar permissões

  • Abra Ver Permissões para um usuário e veja o resumo por escopo.
  • Utilize o filtro por database/tabela para facilitar auditorias.

Boas práticas

  • Princípio do menor privilégio: conceda apenas o necessário ao cenário.
  • Separe usuários por ambiente (DEV/HMG/PRD) e por aplicativo.
  • Evite % no host quando puder restringir por IP ou faixa.
  • Rotacione senhas periodicamente e desative usuários sem uso.
  • Registre mudanças em Logs & Auditoria.

Erros e situações comuns

“Access denied for user …”

  • Confirme usuário/host corretos (nome@host) e se os privilégios existem no escopo certo.

“You are not allowed to create a user” / “GRANT command denied”

  • A conta administrativa não possui GRANT OPTION ou privilégios globais necessários.

Aplicação consegue ler mas não escrever

  • Faltam INSERT/UPDATE/DELETE no database ou tabela alvo; conceda no escopo adequado.

Conflito entre escopos

  • Permissões mais específicas prevalecem. Verifique grants Global → DB → Tabela → Coluna.

Ferramentas relacionadas

Próximo (sugestão): MySQL • Views • Voltar: MySQL • Duplicar Tabela