Existe uma maneira de alcançar todos os três objetivos, mas não sei se há um produto que funcione, então eu criaria scripts assim:
- Use o instantâneo do LVM para obter um estado consistente de seu banco de dados (não esqueça do FLUSH TABLE WITH READ LOCK)
- Monte seu instantâneo em um local específico: / opt / mysql read-write
- Inicie o mysqld como uma segunda instância com --data-dir = / opt / mysql (e opção como --skip-network para evitar conflito e o arquivo de soquete a ser separado em outro lugar que / var / lib / mysql / mysql. sock) - Ajuda: Executando Múltiplas Instâncias Mysql no Unix Server
Em seguida, você pode usar qualquer script que gere uma tabela de dump por tabela com a garantia de ser consistente conectando-se a sua segunda instância do mysql
Eventualmente, se o desempenho do instantâneo ou o tamanho do disco for um problema, basta mover o instantâneo em um segundo servidor e executar o dump no segundo local.