Faster MySQL DB pull de máquina remota para máquina local

1

Eu uso este comando para extrair algum banco de dados remoto para o banco de dados local:

$ ssh remote.com "mysqldump remotedb | gzip" | gzip -d | mysql localdb

Eu vejo isso roda um monte de comandos individuais no banco de dados. Existe um caminho mais rápido?

Vou iniciar o comando a partir da máquina local e será executado pelo cron.

Atualizar

Este método leva a: Perda de conexão com o servidor MySQL durante a consulta ao descartar a tabela

    
por Pentium10 08.03.2012 / 08:43

3 respostas

1

Não vejo nenhum problema com este comando. Você é:

  1. Exportando o mysql e compactando o dump na máquina remota.
  2. Obtendo o dump compactado na máquina local e descompactando-o.
  3. Importando o dump para o mysql local.

Isso deve ser bom o suficiente. Claramente, o tempo de execução de tal comando depende da velocidade de conexão e do tamanho do banco de dados.

Se você estiver passando por um tempo de execução alto, pode pensar em uma maneira alternativa de sincronizar seus bancos de dados. Por exemplo, você pode tentar exportar apenas as alterações e não o banco de dados inteiro.

    
por 08.03.2012 / 08:57
1

Talvez. Depende de qual é o gargalo no seu sistema. Se você tiver uma rede rápida e o afunilamento for o processo de despejo, fazer um instantâneo LVM e rsyncing os arquivos de dados será bem rápido. Caso contrário, se a rede é o gargalo, você provavelmente está no limite do que você conseguirá alcançar.

    
por 08.03.2012 / 08:58
1

Se você determinar que o comando mysqldump é o seu gargalo, tente usar o MyDumper .

Não parece que você pode transmitir a saída diretamente para o servidor de destino, mas você pode usar rsync quantas vezes quiser enquanto o dump está acontecendo e novamente quando terminar, para que o rsync final seja relativamente rápido .

Você pode ter o MyDumper fazendo a compactação com -c , compactar separadamente com gzip ou usar -e "ssh -C" no seu comando rsync para que o SSH manipule a compactação.

    
por 08.03.2012 / 14:06