Manual MyTable

MySQL • Permissões & Grants

Gerencie acessos ao MySQL diretamente pelo MyTable: criação/edição de usuários, concessão de privilégios (em nível de GLOBAL, DATABASE, TABELA e COLUNA), além de revogar e inspecionar o que cada conta pode executar. Isso ajuda a segregar ambientes, limitar riscos e atender auditorias.


Abrir “Permissões”

  1. Conecte-se com uma conta administrativa (ex.: que possua GRANT OPTION).
  2. No MyTable, abra o menu do MySQL e toque em Permissões.
  3. Escolha o escopo que deseja gerenciar: Global, Database, Tabela ou Coluna.

Dica: Se necessário, revise antes o contexto do banco em Visualizar Tabelas e Estrutura da Tabela.


Conceitos rápidos

  • Usuário: identificado como nome@host (ex.: app_user@%, relatorio@10.0.0.%).
  • Privilégios: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, EXECUTE, etc.
  • Escopo (onde vale): Global > Database > Tabela > Coluna (o mais específico prevalece).
  • GRANT OPTION: permite que o usuário retransmita aos 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/sub-rede).
  3. Defina uma senha forte (política de complexidade recomendada).
  4. (Opcional) Configure expiração e bloqueio de senha, se o ambiente exigir.
  5. Salvar.

Boas práticas: crie usuários separados por aplicativo e por ambiente (ex.: app_web_hmg, app_web_prd).


Conceder privilégios (GRANT)

Escopo Global

  • Use somente para administradores (ex.: CREATE USER, RELOAD, PROCESS).
  • Evite conceder Global para contas de aplicação.

Escopo 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) Marque GRANT OPTION se o usuário poderá repassar privilégios.
  5. Salvar.

Escopo Tabela

  1. Escolha o database e a tabela.
  2. Marque os privilégios restritos àquela tabela (por exemplo, apenas SELECT).
  3. Salvar.

Escopo 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 clique em Salvar.
  • Se necessário, remova o GRANT OPTION para impedir repasses no futuro.

Inspecionar permissões

  • Abra Ver Permissões para um usuário e veja o resumo por escopo.
  • Use filtros por database/tabela para facilitar auditorias e revisões periódicas.

Políticas e 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 CIDR.
  • Rotacione senhas periodicamente e desative contas sem uso.
  • Registre mudanças em Logs & Auditoria.

Erros e situações comuns

“Access denied for user …”

  • Confirme usuário@host corretos e verifique 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 suficientes. Use um usuário com permissão apropriada.

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 (tabela/coluna) prevalecem sobre as de nível database/global.

Ferramentas relacionadas

Próximo sugerido: MySQL • Constraints (FK/PK/UNIQUE) • Voltar: MySQL • Executar SELECT