Melhor maneira de mover a configuração do apache e mysql para o novo servidor?

1

Acabei de instalar meu novo servidor e no canto e estou no processo de transferir serviços para ele da minha caixa existente. Eu preciso passar pelo mysql e apache.

Qual é a melhor maneira de mudar tudo? Basta copiar todas as raízes do diretório apache e os sites (os arquivos de configuração) que estou assumindo é a melhor / única maneira de obter o apache, mas com o mysql eu obviamente quero manter todas as senhas para as coisas, então eu deveria apenas fazer backup e restaurar ou posso fazê-los falar com cada um deles e dizer ao servidor para apenas sugar os dados do outro?

EDIT: Eu posso dar ao luxo de derrubar o site por 30 minutos ou mais, se isso faz a diferença.

    
por Daniel Huckstep 02.06.2009 / 01:30

4 respostas

3

Aproveitando o que o Gleb disse e o que o Google encontrou para mim:

mysqldump -u user -p password thedb | ssh user@newserver mysql -u user -p password thedb
    
por 02.06.2009 / 17:33
3

Aprender a usar o mysqldump não atrapalhará e ajudará você a fazer backups de seus bancos de dados e transferi-los para outro servidor também. Senhas e algumas outras coisas úteis vivem no banco de dados chamado mysql. Um exemplo simples:

mysqldump -u myuser -p mypassword mydatabase > dump.sql

Depois é só alimentá-lo no mysql em qualquer outro lugar.

    
por 02.06.2009 / 01:35
2

Como o Gleb disse, usar o mysqldump é a maneira mais fácil (dependendo do tráfego no banco de dados. Muito pesado e o mysqldump não pega algumas mudanças).

Com o apache, basta rsyncar os diretórios antes, e fazer novamente quando estiver pronto para fazer a troca. Dessa forma, você minimiza o tamanho da sincronização quando é a hora da crise.

Você também vai querer fazer isso antes para ter certeza de que seus vários arquivos de configuração foram selecionados e sincronizados corretamente (e que você os obteve todos).

Isso não é muito complexo, mas é uma boa prática para grandes migrações ao vivo.

    
por 02.06.2009 / 01:39
2

Criando o Gleb & Eu recomendaria strongmente executar o mysqldump com --opt (dependendo da sua versão do MySQL, pode não ser o padrão) para minimizar a quantidade de transferência, bem como um monte de otimizações para o processo de dump / import. / p>

Além disso, como você diz que quer manter as tabelas de privilégios / usuários, você pode querer rodar com --all-databases.

Outra opção que você usaria seria usar a replicação do MySQL para (como você diz) sugar dados. Eu estou supondo que você não tem log binário ativado (se você fez, o processo seria indolor).

Um dos pontos mais importantes se usar o mysqldump é ter certeza de que você está executando tudo com o conjunto de caracteres correto (usando latin1 se você tiver dados utf8 pode causar alguns problemas "interessantes").

    
por 02.06.2009 / 18:30