Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Alternativas ao MySQL Workbench - Gerenciamento de usuários do banco de dados ClusterControl


O gerenciamento de usuários e privilégios do MySQL é muito crítico para fins de autenticação, autorização e contabilidade. Desde o MySQL 8.0, agora existem dois tipos de privilégios de usuário de banco de dados:
  1. Privilégios estáticos - Os privilégios comuns globais, de esquema e administrativos, como SELECT, ALTER, SUPER e USAGE, integrados ao servidor.
  2. Privilégios dinâmicos - Novo no MySQL 8.0. Um componente que pode ser registrado e não registrado em tempo de execução que fornece melhor controle sobre os privilégios globais. Por exemplo, em vez de atribuir o privilégio SUPER apenas para fins de gerenciamento de configuração, é melhor conceder a esse usuário específico apenas o privilégio SYSTEM_VARIABLES_ADMIN.

Criar um esquema de banco de dados com seu respectivo usuário é o passo inicial para começar a usar o MySQL como seu servidor de banco de dados. A maioria dos aplicativos que usam o MySQL como armazenamento de dados exige que essa tarefa seja executada antes que o aplicativo funcione conforme o esperado. Para usar com um aplicativo, geralmente um usuário MySQL é configurado para ter privilégios totais (TODOS OS PRIVILÉGIOS) no nível do esquema, o que significa que o usuário do banco de dados usado pelo aplicativo tem a liberdade de executar qualquer ação no banco de dados atribuído.

Nesta postagem do blog, vamos comparar e contrastar os recursos de gerenciamento de usuários do banco de dados MySQL entre o MySQL Workbench e o ClusterControl.

MySQL Workbench - Gerenciamento de usuários de banco de dados


Para o MySQL Workbench, você pode encontrar todo o material de gerenciamento de usuários em Administration -> Management -> User and Privileges. Você deve ver uma lista de usuários existentes no lado esquerdo, enquanto no lado direito está a seção de configuração de autenticação e autorização para o usuário selecionado:

MySQL suporta mais de 30 privilégios estáticos e não é fácil de entender e lembrar o Shopping. O MySQL Workbench possui várias funções administrativas predefinidas, o que é muito útil ao atribuir privilégios suficientes a um usuário do banco de dados. Por exemplo, se você deseja criar um usuário MySQL especificamente para realizar atividades de backup usando mysqldump, você pode escolher a função BackupAdmin e os privilégios globais relacionados serão atribuídos ao usuário de acordo:

Para criar um novo usuário de banco de dados, clique no botão "Adicionar conta" e forneça as informações necessárias na guia "Login". Você pode adicionar mais algumas restrições de recursos na guia "Limite de conta". Se o usuário é apenas para um esquema de banco de dados e não se destina a nenhuma função administrativa (estritamente para uso de aplicativos), você pode pular a guia "Funções administrativas" e apenas configurar os "Privilégios do esquema".

Na seção "Privilégios de esquema", pode-se escolher um esquema de banco de dados (ou definir o padrão correspondente) clicando em "Adicionar entrada". Em seguida, pressione o botão "Select ALL" para permitir todos os direitos (exceto GRANT OPTION), que é semelhante à declaração de opção "ALL PRIVILEGES":

Um usuário de banco de dados não será criado no servidor MySQL até que você tenha aplicado as alterações, clicando no botão "Aplicar".

ClusterControl - Gerenciamento de usuários de banco de dados e proxy


O banco de dados ClusterControl e o gerenciamento de usuários são um pouco mais diretos do que o MySQL Workbench oferece. Enquanto o MySQL Workbench é mais amigável ao desenvolvedor, o ClusterControl é focado mais no que SysAdmins e DBAs estão interessados, mais como coisas comuns de administração para aqueles que já estão familiarizados com funções e privilégios do MySQL.

Para criar um usuário de banco de dados, vá para Gerenciar -> Esquemas e Usuários -> Usuários -> Criar Novo Usuário. Você será presenteado com o seguinte assistente de criação de usuário:

A criação de um usuário no ClusterControl exige que você preencha todos os campos necessários em um página, ao contrário do MySQL Workbench que envolveu um número de cliques para obter resultados semelhantes. O ClusterControl também suporta a criação de um usuário com a sintaxe "REQUIRE SSL", para forçar o usuário específico a acessar apenas via canal de criptografia SSL.

O ClusterControl fornece uma visão agregada de todos os usuários do banco de dados em um cluster, eliminando o login em cada servidor individual para procurar um usuário específico:

Um simples rollover na caixa de privilégios revela todos os privilégios que foram atribuídos a este usuário. O ClusterControl também fornece uma lista de usuários inativos, contas de usuários que não foram usadas desde a última reinicialização do servidor:

A lista acima nos dá um resumo claro de quais usuários valem a pena existir , permitindo-nos gerir o utilizador de forma mais eficiente. Os DBAs podem então perguntar ao desenvolvedor se o usuário inativo do banco de dados ainda precisa estar ativo, caso contrário, a conta do usuário pode ser bloqueada ou descartada.

Se você estiver tendo um balanceador de carga ProxySQL no meio, você deve saber que o ProxySQL tem seu próprio gerenciamento de usuários MySQL para permitir que ele seja passado por ele. Existem várias configurações e variáveis ​​diferentes se comparadas às configurações comuns do usuário MySQL, por exemplo, grupo de host padrão, esquema padrão, persistência de transação, avanço rápido e muito mais. O ClusterControl fornece uma interface gráfica de usuário no gerenciamento de usuários do banco de dados ProxySQL, melhorando a experiência e a eficiência de gerenciar seus usuários de proxy e banco de dados de uma só vez:

Ao criar um novo usuário de banco de dados através da página de gerenciamento ProxySQL, o ClusterControl criará automaticamente o usuário correspondente no ProxySQL e no MySQL. No entanto, ao remover um usuário MySQL do ProxySQL, o usuário do banco de dados correspondente permanecerá no servidor MySQL.

Vantagens e desvantagens


O ClusterControl suporta vários fornecedores de banco de dados para que você tenha uma experiência de usuário semelhante ao lidar com outros servidores de banco de dados. O ClusterControl também suporta a criação de um usuário de banco de dados em vários hosts ao mesmo tempo, onde garantirá que o usuário criado exista em todos os servidores de banco de dados no cluster. O ClusterControl tem uma maneira mais limpa ao listar contas de usuários, onde você pode ver todas as informações necessárias diretamente na página de listagem. No entanto, o gerenciamento de usuários requer assinatura ativa e não está disponível na edição da comunidade. Ele não suporta todas as plataformas que o MySQL pode executar, particularmente apenas algumas distribuições Linux como CentOS, RHEL, Debian e Ubuntu.

A maior vantagem do MySQL Workbench é que ele é gratuito e pode ser usado junto com o gerenciamento e administração de esquemas. Ele foi desenvolvido para ser mais amigável para desenvolvedores e DBAs e tem a vantagem de ser construído e apoiado pela equipe da Oracle, que possui e mantém o servidor MySQL. Ele também fornece orientação muito mais clara com descrição na maioria dos campos de entrada, especialmente nas partes críticas, como autenticação e gerenciamento de privilégios. A função administrativa predefinida é uma maneira elegante de conceder um conjunto de privilégios a um usuário, com base no trabalho que o usuário deve realizar no servidor. No lado negativo, o MySQL Workbench não é uma ferramenta amigável para cluster, pois cada conexão de gerenciamento é adaptada a um servidor MySQL de ponto de extremidade. Assim, ele não fornece uma visão centralizada de todos os usuários do cluster. Ele também não oferece suporte à criação de usuários com imposição de SSL.

Ambas as ferramentas não suportam a nova sintaxe de privilégios dinâmicos do MySQL 8.0, por exemplo, BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN, etc.

A tabela a seguir destaca recursos notáveis ​​para ambas as ferramentas para facilitar a comparação:

Aspecto de gerenciamento de usuários

MySQL Workbench

Controle de Cluster

SO suportado para servidor MySQL

  • Linux

  • Windows

  • FreeBSD

  • Abra o Solaris

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

Fornecedor MySQL

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Coderança

Suporte ao gerenciamento de usuários para outros softwares

 
  • ProxySQL

Gerenciamento de usuários de vários hosts

Não

Sim

Visualização agregada de usuários em um cluster de banco de dados

Não

Sim

Mostrar usuários inativos

Não

Sim

Criar usuário com SSL

Não

Sim

Privilégio e descrição da função

Sim

Não

Função administrativa predefinida

Sim

Não

Privilégios dinâmicos do MySQL 8.0

Não

Não

Custo

Gratuito

Assinatura necessária para recursos de gerenciamento


Esperamos que essas postagens do blog ajudem você a determinar quais ferramentas são mais adequadas para gerenciar seus bancos de dados e usuários MySQL.