Eu resolvi esse problema reconstruindo o mydumper a partir de fontes.
Acontece que eu estava usando uma versão mais recente do mysqld do que a fornecida pelo debian (jessie), e aparentemente o executável mydumper fornecido pelo debian não é compatível com ele (embora isso seja apenas um palpite, talvez seja não a razão em tudo).
Para criar o mydumper, você precisa:
- Clone link
- Instale dependências com o apt-get (veja mydumper readme no github, no momento de escrever esta resposta você precisa de
sudo apt-get install libglib2.0-dev zlib1g-dev libpcre3-dev libssl-dev
) - Instale o pacote libmysqlclient-dev correspondente à versão do mysqld que você está usando. Como neste caso não estou usando o fornecido pelo debian, também não posso instalar os arquivos de desenvolvimento fornecidos pelo debian. O que funcionou para mim foi baixar os pacotes .deb do repositório
debian sid
(diretamente do ftp): libmysqlclient -dev que depende do libmysqlclient20 . Faça o download desses arquivos e, em seguida,sudo dpkg -i libmysqlclient20_5.7.18-1_i386.deb libmysqlclient-dev_5.7.18-1_i386.deb
-
Construa mydumper (que também construirá myloader) como explicado no readme:
cd mydumper cmake . make
Talvez seja necessário instalar ferramentas de criação, como
sudo apt-get install build-essential cmake
Agora você deve ter os dois executáveis no diretório atual. A partir desse ponto, tudo funcionou bem para eu gerar o backup.
Eu também precisava construir myloader
da fonte no servidor de destino, já que a versão fornecida pelo debian também seria segfault, mas desta vez não era uma incompatibilidade de versão do mysql; então na verdade eu não tenho ideia do porque o executável debian não funcionou.