dumping / restaurando um banco de dados mysql grande, melhor prática

1

Estamos planejando mover um grande banco de dados MySQL de um servidor para outro - passando de 32 bits para 64 bits, portanto, copiar os arquivos de banco de dados não parece ser uma opção.

Grande aqui significa cerca de 30 tabelas e 60 GB de espaço no sistema de arquivos. Tendo tido alguns problemas (sendo inacreditavelmente lento para um) com bancos de dados em dump apenas um décimo desse tamanho antes:

Alguém tem alguma dica sobre a melhor forma de transferir isso entre os servidores? (Qualquer coisa "melhor" que o mysqldump? Qualquer opção de linha de comando em particular que deveria estar ligada? Descarrega / recarrega dos arquivos, ou canaliza diretamente para o outro banco de dados, faz compactação gzip etc.)

    
por nos 03.09.2010 / 22:42

2 respostas

2

Em primeiro lugar, indo de 32 bits para 64 bits não deve ter qualquer correlação com o seu sistema de arquivos, então copiar seus arquivos DB diretamente não deve ser uma preocupação. Despejar um banco de dados grande pode ser lento, portanto, copiar os arquivos brutos provavelmente é a melhor opção. Você está usando o MyISAM ou todas as suas tabelas no InnoDB? Se você estiver usando o InnoDB, você pode tentar usar o xtrabackup do Percona para fazer um backup "ao vivo" do seu banco de dados sem tempo de inatividade:

link

Se você estiver usando o MyISAM e o tempo de inatividade for uma preocupação, o que você pode fazer é executar um rsync nos arquivos de dados diretamente enquanto o servidor está em execução. Execute-o várias vezes seguidas até que as tabelas "alteradas" sejam poucas e o rsync seja rápido para terminar. Então, você pode executar um rápido desligamento do MySQL, executar o rsync uma última vez para pegar os arquivos em um estado consistente e iniciar o MySQL novamente. Você pode copiá-los para o seu novo servidor, iniciar o MySQL e ir a partir daí.

Espero que isso ajude!

    
por 03.09.2010 / 22:54
0

mysqldump tem a vantagem inestimável de produzir dados de texto que podem ser, por exemplo, processados com um script ou rearranjados, ao contrário de um formato binário que é dependente de estrutura / programa.

Aproveito o tempo adicional para executar o backup de texto mysqldump . No entanto, existem duas coisas a considerar

  • houve um bug em mysqldump versões anteriores que causaram desempenhos lentos
  • adicione a opção --opt a mysqldump , é o padrão nas versões mais recentes (faz --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset ) e torna o processo mais rápido (ele também adiciona instruções para acelerar o carregamento (consulte a página MySQL para avaliar qual opção atende às suas necessidades).
por 14.10.2010 / 09:40

Tags