Como assim substituindo? É uma nova versão do MySQLdump? Não, é uma ferramenta disponibilizada pela comunidade para realizar o dump do MySQL 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 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.
Instalando
yum 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!