Qual é a melhor maneira de migrar um banco de dados MySQL?

1

Estamos movendo um site de comércio eletrônico ocupado de um servidor para outro.

É uma aplicação PHP que usa o MySQL . O phpMySQL não está instalado em nenhum dos servidores. Usamos o Navicat Essentials for MySQL para gerenciar bancos de dados.

O plano é o seguinte:

  1. Reduza os TTLs de DNS.
  2. O usuário rsync para transferir arquivos do antigo para o novo servidor.
  3. No servidor antigo, exporte o banco de dados usando o Navicat e, no novo servidor, importe o arquivo SQL descartado.
  4. Faça o teste no novo servidor (alterando o arquivo de hosts locais para que, no computador, o domínio aponte para o novo servidor)
  5. Se houver algum problema, solucione o problema e faça um loop para a etapa 4. Depois disso, vá para a etapa 6.
  6. Quando tudo estiver correto na etapa 4, ative o modo de manutenção no aplicativo PHP (ainda em execução no servidor antigo).
  7. Execute o rsync novamente para copiar os arquivos restantes desde o último rsync.
  8. No Navicat, no servidor antigo, para o banco de dados relevante, Dump SQL file (estrutura e dados) e, em seguida, no novo servidor, elimine todas as tabelas do banco de dados originalmente importado e Execute o arquivo SQL que foi descartado recentemente. / li>
  9. Atualize os detalhes do DNS com os novos IPs e aumente os TTLs novamente.

Esta é uma abordagem adequada a ser adotada? Na verdade, honestamente, os passos 1-7 já estão concluídos. Eu nunca usei o Navicat antes da migração (sempre tive o phpMyAdmin), então estou preocupado com o passo 8. O passo 8 deve ser, ou devo fazer algo diferente?

    
por OC2PS 26.09.2013 / 13:55

2 respostas

3

O plano que você descreve envolve o tempo de inatividade do aplicativo ou dados perdidos (ou ambos). Um método mais recomendado seria manter o novo servidor de banco de dados, configurando-o como um escravo do servidor atual (agora mestre), reconfigurar seu aplicativo para usar ambos como um par mestre / escravo. Quando o escravo é pego (e você pode se conectar a ele e enviar consultas para ele), promova o escravo / rebaixar o mestre.

Documentos de configuração de replicação do MySQL

    
por 26.09.2013 / 14:17
0

Pesquisando, o método mais comum é usar o comando mysqldump.

link -Mais detalhado

link Qual é a maneira mais fácil de mover o mysql da caixa linux na minha caixa local do Vista?

No entanto, tem havido menções que a Navicat, você mencionou que você está usando, permite a configuração de transferência / replicação de dados.

Espero que isso ajude.

    
por 26.09.2013 / 14:26