DBDeployer: sua ferramenta para testes com MySQL

O dbdeployer é uma ferramenta para realizar o deploy de banco de dados MySQL em diversas topologias e configurações. Essa ferramenta foi criada por Giuseppe (Giuseppe dbdeployer) e manteve seu desenvolvimento até 2023.

Até então, a ferramenta funcionava conforme o esperado, mas com a versão 8.4 se tornando GA (General Availability), infelizmente, algumas funções não funcionavam corretamente, muito por conta de variáveis que não existem mais ou de mudanças na linguagem (slave -> replica e master -> source).

Considerando que utilizamos muito essa ferramenta na Percona, decidi criar um fork do projeto original e mantê-lo a partir de agora. Você pode encontrar a minha versão no seguinte link: Roberto dbdeployer.

Dito isso, esse blog post será uma breve explicação de como instalar e utilizar para testes futuros.

Instalação e uso:

O primeiro passo será a instalação:
Acesse as releases no github e faça o download do binário compatível com seu OS

Próximo passo de configuração é executar o init, para criação das pastas necessárias:

Instalação e configuração realizadas. Hora de baixar os binários, para esse meu teste, estou usando Linux com glibc 2.34. Caso você não tenha certeza do seu glibc, verifique com o seguinte comando:

Sabendo a versão do glibc e o OS, você pode realizar o download do binário, para esse teste, estarei baixando o Percona Server versão 8.4.7 para glibc 2.34:

Agora, com tudo configurado e instalado, você pode iniciar várias topologias do MySQL, utilizando somente um comando, por exemplo, o comando abaixo irá iniciar uma instância standalone:

Pronto, sua instância standalone MySQL está de pé, outro exemplo seria replicação:

Todas as instâncias estarão localizadas no seu sandbox:

Para acessar a instância standalone, podemos utilizar o executável use dentro da pasta msb_8_4_7:

Para a replicação você pode usar os executáveis n* como o exemplo abaixo:

Ou os executáveis use dentro da pasta da cada instância:

Para desligar todas as instâncias é possível utilizar o comando global:

 

Conclusão

O dbdeployer continua sendo uma forma prática e rápida de subir MySQL em várias topologias (standalone, replication, group replication) com poucos comandos, sem precisar configurar tudo à mão. Com o fork mantido e ajustado para MySQL 8.4, a ferramenta volta a ser uma opção viável para testes, desenvolvimento e demonstrações, inclusive com Percona Server 8.4. Algumas funções estão no roadmap do dbdeployer, como InnoDB Cluster e ClusterSet! 

Caso encontre um bug, tenha sugestões ou contribuições, sinta-se à vontade para acessar o github e criar uma issue/pull request! Bons estudos!

COMPARTILHE:
Picture of Roberto de Bem

Roberto de Bem

Roberto de Bem é Database Engineer na Percona e entusiasta de Open Source. Sempre que possível, contribuo com pull requests, principalmente para projetos e produtos da Percona. Formado em Sistemas de Informação, trabalha com bancos de dados desde 2017, com foco em MySQL. Oracle Certified Professional – MySQL 8.0. Oracle ACE Apprentice.
Picture of Roberto de Bem

Roberto de Bem

Roberto de Bem é Database Engineer na Percona e entusiasta de Open Source. Sempre que possível, contribuo com pull requests, principalmente para projetos e produtos da Percona. Formado em Sistemas de Informação, trabalha com bancos de dados desde 2017, com foco em MySQL. Oracle Certified Professional – MySQL 8.0. Oracle ACE Apprentice.

COMENTÁRIOS

PARTICIPE

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

POSTADO POR
Picture of Roberto de Bem

Roberto de Bem

Roberto de Bem é Database Engineer na Percona e entusiasta de Open Source. Sempre que possível, contribuo com pull requests, principalmente para projetos e produtos da Percona. Formado em Sistemas de Informação, trabalha com bancos de dados desde 2017, com foco em MySQL. Oracle Certified Professional – MySQL 8.0. Oracle ACE Apprentice.
PARCEIROS