A "resposta certa" é altamente dependente de aplicativos, mas aqui estão algumas estratégias que vi antes.
Backup diário / restauração sob demanda
Isso funciona bem se você tiver um pequeno conjunto de dados e a necessidade de ter vários desenvolvedores usando os backups ad-hoc. A ideia é basicamente um mysqldump
em um sistema de destino de replicação e alguns scripts para fazer uma importação do MySQL.
Processo ETL
Essa abordagem faz muito sentido se você quiser um subconjunto de dados ou se quiser mascará-lo de alguma forma para proteger os dados contra violações. Você pode transformar dados confidenciais dentro dos scripts ETL e carregá-los diretamente em um banco de dados de desenvolvimento ou criar um dump como na abordagem acima, mas você saberá que já foi limpo.
Um processo ETL pode ser bom se você quiser executá-lo por hora para, digamos, extrair a última hora da produção, fazer alguma limpeza / reorganização e importá-lo para um banco de dados "mestre" de desenvolvimento para exportação para sistemas de desenvolvimento, etc.
Replicação de logs binários
Este método provavelmente não funcionará para você, como você deseja ler e para gravar no banco de dados de desenvolvimento. Às vezes, as pessoas usarão a replicação para executar testes de regressão somente leitura, mas a modificação do banco de dados resultará em replicação com falha e / ou dados inconsistentes.