Servidor de origem: 1 tabela - InnoDB -> 700gb - 1,5 bilhão de registros (Espaço livre em disco: 200gb)
O servidor de destino está na mesma rede.
O servidor de destino terá muito espaço livre, a origem só tem 200gb livres.
1 – A tabela possui 1,5 bilhão de registros, então consultar linha por linha não seria o melhor caminho.
2 - Possivelmente a única forma viável que encontrei no momento foi copiar o arquivo IBD e tentar restaurá-lo utilizando TABLESPACE, conforme instruções neste link: https://community.spiceworks.com/t/recover-mysql- banco de dados de arquivos frm e ibd/1014394
Com o MariaBackup eu conseguiria salvar o arquivo na fonte se tivesse espaço livre. Infelizmente não é possível enviar o arquivo via MariaBackup diretamente para o servidor de origem pela rede, certo?
Existe alguma forma melhor de exportar além dessas duas citadas?
Muito obrigado. =)
Você pode transmitir seu dump diretamente de um host para outro, sem nenhum arquivo temporário no disco:
Supondo que a largura de banda seja alta, faça isso no servidor de destino:
(Se a largura de banda for baixa, compactar/descompactar como sugere Kondybas pode ser até 3x mais rápido do que sem compactar.)
Você pode, certamente no Linux/UNIX, montar um sistema de arquivos de rede a partir do seu sistema de destino - digamos, seu banco de dados está em src e você deseja copiar para tgt . No Linux você pode usar o NFS (instalar o servidor NFS em tgt , o cliente NFS em src ) e fazer:
Veja, por exemplo, Network File System (NFS) - isso também funciona no MacOS, acredito. No Windows, você tem o recurso mapear unidade de rede , que também funciona com Linux, mas é um pouco mais difícil de configurar.
E, se você estiver na nuvem, poderá anexar um disco novo e maior à origem, despejar seus dados, desanexá-los e anexá-los ao destino. Isso geralmente é mais rápido do que copiar pela rede.