Como posso fazer backup (por mysqldump) do banco de dados MySQL de um servidor em nuvem para outro?
Eu tenho um servidor MySQL que usa innodb e tem cerca de 150 GB de tamanho.
Eu quero fazer backup do banco de dados para outro servidor, qual é a maneira mais eficiente de fazer isso?
As nuvens não podem falar umas com as outras
Existe uma terceira máquina que pode acessar os dois, correto - sua máquina.
Ou, para ser mais ousado:
Então você nem está tocando seu disco.
O desempenho será determinado pela largura de banda entre você e cada nuvem. Adicionar um gzip no caminho não ajudará porque ele não será compactado até chegar à sua máquina. Percona's
Xtrabackup
é uma boa alternativa paramysqldump
. Possui opções de compactação e até algum paralelismo, mas, novamente, talvez você não consiga tirar proveito disso.Evitei o óbvio (ter uma nuvem sendo enviada para a outra) porque espero que esse tráfego seja proibido. Ou você não pode executar comandos de um script de shell em nenhuma das nuvens.
Conexão possível
Em qualquer máquina em nuvem, faça
Se a rede for a parte lenta, faça isso na máquina de origem
(Eu esqueço os detalhes de como usar o ssh para executar as coisas lá.)
Isso pode ser revertido para rodar na cloud2:
mas pode não importar muito.
Eu tenho backup por esta consulta:
Funciona bem para fazer backup de uma nuvem para outro servidor em nuvem. Mas agora eu recebo erro
e meu processo de backup não foi concluído. Então eu mudei
Agora funciona algum tempo e às vezes falha. Então, não parece uma prova completa.