Mydumper & Myloader- substituindo o MySQLdump
Conheça a uma ferramenta disponibilizada pela comunidade para realizar o dump do MySQL de forma mais otimizada.
Como assim substituindo? É uma nova versão do MySQLdump? Não, é uma ferramenta disponibilizada pela comunidade para realizar o dump do MySQL↳MySQL8 conteúdosMySQL + Adminer + Docker Compose: montando rapidamente um ambiente para usoData · abr 2019Banco de dados MYSQL no PHPStormDev (Back & Front) · jul 2019Criando um ambiente de desenvolvimento PHP mínimo com Docker – Parte 3Dev (Back & Front) · out 2019Ver tudo em Data → de forma mais otimizada. E por isso você não vai mais querer utilizar o convencional MySQLdump em seus backups lógicos. Ele vai parecer tão defasado que você só vai utilizá-lo para backups ou export muito simples e com pequeno volume de dados.
O Mydumper é uma ferramenta de dump otimizada que possibilita gerar o dump de um banco de dados até seis vezes mais rápido que o MySQLdump convencional. Faz o dump de forma mais organizada e paralela.
Guia de instalaçãoÉ necessário instalar algumas dependências, já que o Mydumper será compilado localmente. O guia a seguir já possui as dicas de instalação de dependências e compilação. O processo abaixo foi realizado no Oracle Linux↳Linux34 conteúdosKali Linux em um Servidor VPS: como, quando e por que usar?DevSecOps · dez 2024Construindo um Windows Service ou Linux Daemon com Worker Service & .NET Core – Parte 2Dev (Back & Front) · jul 2020Criando uma WebApi utilizando .NET, Linux e VSCodeDev (Back & Front) · ago 2019Ver tudo em DevSecOps → 6.5 64bits, o que significa ser compatível também com Redhat, Fedora e CentOs, mas para distribuições derivadas do Debian também é bem fácil através do APT e o guia oficial também inclui as dicas para tais distribuições.
Dica: Fique atento a instalação do pacote “mysql-devel” se o MySQL tiver sido instalado manualmente. Sugiro que baixe o pacote “mysql-devel” correspondente a sua versão e instale manualmente, excluindo da listagem através de ferramenta gerenciadora de pacotes.
Instalandoyum install glib2-devel mysql-devel zlib-devel pcre-devel cmake cd /opt wget https://launchpad.net/mydumper/0.6/0.6.2/+download/mydumper-0.6.2.tar.gz tar -xvf mydumper-0.6.2.tar.gz cd mydumper-0.6.2 cmake . make
Durante a compilação serão obtidos os seguintes resultados:
Dica: Baixe, descompacte e instale em uma pasta de boa referência “/opt” ou “/usr/local”. Instale e adicione os binários no “PATH” para facilitar o uso em suas rotinas.
E serão gerados dois binários “mydumper” e “myloader”. Para testar, basta executar:
<span class="crayon-sy">.</span><span class="crayon-o">/</span><span class="crayon-v">mydumper</span> <span class="crayon-o">--</span><span class="crayon-v">help</span>
Executando seu primeiro backup:
./mydumper -t 8 -B employees -u backup -p backup
Com o comando acima, é executado um backup do database “employees” utilizando 8 THREADS. Um dos diferenciais é a geração de uma pasta com a data do backup. Dentro da pasta de backup é gerado um arquivo SQL para cada objeto e um arquivo de METADATA. Veja:
Como visto acima, são gerados arquivos independentes para cada tabela – essa é a sacada das “THREADS” e o grande responsável por otimizar a performance se comparado o convencional MySQLDUMP, pois ele não perde tempo em uma única tabela grande. Caso seja necessário exportar uma tabela muito grande, as outras “THREADS” estarão ganhando tempo exportando outras tabelas menores e quando a maior tabela tiver sido completada, o DUMP será finalizado.
Em breve farei um SCRIPT de backup similar aos já postados aqui do Xtrabackup e do convencional MySQLdump, com rotinas de controle de retenção e monitoramento dos backups.
Dúvidas? Comente!








