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

Alternativas ao MySQL Workbench - Gerenciamento de configuração do ClusterControl

O gerenciamento de configuração do MySQL consiste em dois componentes principais - arquivos de configuração do MySQL e configuração de tempo de execução. A aplicação de alterações de configuração no ambiente de tempo de execução pode ser feita através de clientes do servidor MySQL sem privilégios para variáveis ​​de sessão, mas privilégios SUPER para variáveis ​​globais. A aplicação das mesmas alterações de configuração no arquivo de configuração do MySQL também é necessária para tornar as alterações persistentes nas reinicializações do MySQL, caso contrário, os valores padrão serão carregados durante a inicialização.

Nesta postagem do blog, veremos o ClusterControl Configuration Management como uma alternativa ao gerenciamento de configuração do MySQL Workbench.

Gerenciamento de configuração do MySQL Workbench

MySQL Workbench é um cliente gráfico para trabalhar com servidores MySQL e bancos de dados para versões de servidor 5.xe superiores. Ele está disponível gratuitamente e é comumente usado por SysAdmins, DBAs e desenvolvedores para realizar desenvolvimento SQL, modelagem de dados, administração de servidores MySQL e migração de dados.

Você pode usar o MySQL Workbench para executar o gerenciamento de configuração do MySQL/MariaDB em um servidor MySQL remoto. No entanto, há algumas etapas iniciais necessárias para habilitar esse recurso. No MySQL Workbench, selecione um perfil de conexão existente e escolha Configure Remote Management. Você será apresentado a um assistente de configuração passo a passo para ajudá-lo a configurar o gerenciamento remoto para o perfil de conexão:

No início, é feita uma tentativa de conexão para determinar a versão do servidor e sistema operacional da máquina de destino. Isso permite que as configurações de conexão sejam validadas e permite que o assistente escolha uma predefinição de configuração significativa. Se essa tentativa falhar, você ainda poderá prosseguir para a próxima etapa, onde poderá personalizar ainda mais as configurações para adequá-las ao ambiente do servidor remoto.

Quando a configuração da conexão remota estiver concluída, clique duas vezes no perfil de conexão para iniciar a conexão com a instância do MySQL. Em seguida, vá para Instance -> Options File para abrir a seção do gerenciador de configuração. Você deve ver algo semelhante à captura de tela a seguir:

Todas as variáveis ​​de configuração existentes do arquivo de configuração são pré-carregadas nesta configuração manager para que você possa ver quais opções foram habilitadas com seus respectivos valores. As configurações são categorizadas em várias seções - Geral, registro, InnoDB, rede e assim por diante - o que realmente nos ajuda a focar em recursos específicos que queremos ajustar ou habilitar.

Quando estiver satisfeito com as alterações e antes de clicar em "Aplicar", certifique-se de escolher a seção correta do grupo MySQL no menu suspenso (ao lado do botão Descartar). Uma vez aplicado, você deverá ver que a configuração é aplicada ao servidor MySQL onde uma nova linha aparecerá (se não existir) no arquivo de configuração do MySQL.

Observe que clicar no botão "Aplicar" não enviará a alteração correspondente para o tempo de execução do MySQL. É preciso executar a operação de reinicialização no servidor MySQL para carregar as novas alterações de configuração indo em Instance -> Startup/Shutdown. Isso afetará o tempo de atividade do seu banco de dados.

Para ver todos os status e variáveis ​​do sistema carregado, vá para Management -> Status and System Variables:

Gerenciamento de configuração do ClusterControl


O Gerenciador de Configuração do ClusterControl pode ser acessado em Gerenciar -> Configurações. O ClusterControl extrai vários arquivos de configuração importantes e os exibe em uma estrutura de árvore. Uma visão centralizada desses arquivos é a chave para entender e solucionar problemas de configurações de banco de dados distribuído com eficiência. A captura de tela a seguir mostra o gerenciador de arquivos de configuração do ClusterControl que listou todos os arquivos de configuração relacionados para este cluster em uma única visualização com destaque de sintaxe:

Como você pode ver na captura de tela acima, o ClusterControl entende o MySQL "!include " e seguirá todos os arquivos de configuração associados a ele. Por exemplo, há dois arquivos de configuração do MySQL sendo extraídos do host 192.168.0.21, /etc/my.cnf e /etc/my.cnf.d/secrets-backup.cnf. Você pode abrir vários arquivos de configuração em outra guia do editor, o que facilita a comparação do conteúdo lado a lado. O ClusterControl também extrai as últimas informações de modificação de arquivo do registro de data e hora do SO, conforme mostrado na parte inferior direita do editor de texto.

O ClusterControl elimina a repetitividade ao alterar uma opção de configuração de um cluster de banco de dados. A alteração de uma opção de configuração em vários nós pode ser realizada por meio de uma única interface e será aplicada ao nó do banco de dados de acordo. Ao clicar em "Alterar/Definir Parâmetro", você pode selecionar as instâncias do banco de dados que deseja alterar e especificar o grupo de configuração, parâmetro e valor:

Você pode adicionar um novo parâmetro ao arquivo de configuração ou modificar um parâmetro existente . O parâmetro será aplicado ao tempo de execução dos nós de banco de dados escolhidos e no arquivo de configuração se a opção passar no processo de validação da variável. Algumas variáveis ​​podem exigir uma etapa de acompanhamento, como reinicialização do servidor ou recarregamento da configuração, que será informada pelo ClusterControl.

Todos os serviços configurados pelo ClusterControl usam um modelo de configuração base disponível em /usr/share/cmon/templates no nó ClusterControl. Você pode modificar diretamente o arquivo para adequá-lo à sua política de implantação, no entanto, esse diretório será substituído após uma atualização de pacote. Para garantir que seus arquivos de modelo de configuração personalizados persistam nas atualizações, armazene seus arquivos de modelo no diretório /etc/cmon/templates. Quando o ClusterControl carrega o arquivo de modelo para implantação, os arquivos em /etc/cmon/templates sempre terão prioridade mais alta sobre os arquivos em /usr/share/cmon/templates. Se existirem dois arquivos com nomes idênticos em ambos os diretórios, aquele localizado em /etc/cmon/templates será usado.

Vá para Performance -> DB Variables para verificar a configuração de tempo de execução para todos os servidores no cluster:

Observe uma linha destacada em vermelho na captura de tela acima? Isso significa que a configuração não é idêntica em todos os nós. Isso fornece mais visibilidade sobre a diferença de configuração entre hosts em um cluster de banco de dados específico.

Workbench v ClusterControl:vantagens e desvantagens


Cada produto tem seu próprio conjunto de vantagens e desvantagens. Para ClusterControl, uma vez que entende cluster e topologia, é o melhor gerenciador de configuração para gerenciar vários nós de banco de dados de uma só vez. Ele suporta vários fornecedores MySQL como MariaDB, Percona, bem como todas as variantes do Galera Cluster. Ele também entende o formato de configuração do balanceador de carga de banco de dados para HAProxy, MariaDB MaxScale, ProxySQL e Keepalived. Como o ClusterControl requer configuração SSH sem senha no início da importação/implantação do cluster, o gerenciamento de configuração não requer configuração remota como o Workbench e funciona imediatamente após os hosts serem gerenciados pelo ClusterControl. As alterações de configuração do MySQL realizadas pelo ClusterControl serão carregadas no tempo de execução automaticamente (para todas as variáveis ​​suportadas), bem como gravadas nos arquivos de configuração do MySQL para persistência. Em termos de desvantagens, o gerenciamento de configuração do ClusterControl não vem com descrições de configuração que possam nos ajudar a prever o que aconteceria se alterássemos a opção de configuração. Ele não suporta todas as plataformas que o MySQL pode executar, particularmente apenas algumas distribuições Linux como CentOS, RHEL, Debian e Ubuntu.

MySQL Workbench suporta gerenciamento remoto de muitos sistemas operacionais como Windows, FreeBSD, MacOS, Open Solaris e Linux. MySQL Workbench está disponível gratuitamente e também pode ser usado com outros fornecedores MySQL como Percona e MariaDB (apesar de não listado aqui, ele funciona com algumas versões mais antigas do MariaDB). Ele também suporta o gerenciamento da instalação do pacote TAR. Ele permite algumas customizações no caminho do arquivo de configuração, comandos service/stop e nomenclatura das seções do grupo MySQL. Um dos recursos interessantes é que o MySQL Workbench usa o menu suspenso para valores fixos, o que pode ser uma grande ajuda para reduzir o risco de configuração incorreta de um usuário, conforme mostrado na captura de tela a seguir:

No lado negativo, o MySQL Workbench não suporta gerenciamento de configuração de vários hosts onde você tem que realizar a mudança de configuração em cada host separadamente. Ele também não envia as alterações de configuração para o tempo de execução, sem a reinicialização explícita do MySQL, o que pode comprometer o tempo de atividade do serviço de banco de dados.

A tabela a seguir simplifica as diferenças significativas retiradas de todos os pontos mencionados:

Aspecto de configuração

MySQL Workbench

Controle de Cluster

SO suportado para servidor MySQL

  • Linux
  • Janelas
  • FreeBSD
  • Abra o Solaris
  • Mac OS
  • Linux (Debian, Ubuntu, RHEL, CentOS)

Fornecedor MySQL

  • Oráculo
  • Percona
  • Oráculo
  • Percona
  • MariaDB
  • Codificação

Suporte a outros softwares

 
  • HAProxy
  • ProxySQL
  • MariaDB MaxScale
  • Mantido

Configuração/Descrição da variável

Sim

Não

Realce da sintaxe do arquivo de configuração

Não

Sim

Valores de configuração suspensos

Sim

Não

Configuração de vários hosts

Não

Sim

Push configuração automática em tempo de execução

Não

Sim

Modelo de configuração

Não

Sim

Custo

Gratuito

Assinatura necessária para gerenciamento de configuração

Esperamos que esta postagem do blog o ajude a determinar qual ferramenta é adequada para gerenciar as configurações de seus servidores MySQL. Você também pode experimentar nossa nova ferramenta de gerenciamento de arquivos de configuração (atualmente em alfa)