Espelhando o servidor MySQL com configuração diferente

3

Eu tenho que migrar o servidor MySQL para um data center diferente, então eu gostaria de criar outro servidor slave MySQL no novo DC e depois promovê-lo a um master mais tarde. Anteriormente, usei instantâneos do LVM e o Percona XtraBackup para essa finalidade. No entanto, desta vez eu otimizei o arquivo de configuração do MySQL que me impede de usar esses métodos.

Old server (backup):

innodb_log_file_size = 256M
innodb_log_files_in_group = 3

New server (restore):

innodb_log_file_size = 512M
innodb_log_files_in_group = 2

O script XtraBackup e os instantâneos LVM copiam toda a estrutura de diretório para que o servidor MySQL não seja iniciado porque existe um tamanho diferente para os logs do InnoDB.

Existe alguma solução para evitar um tempo de inatividade neste caso? Eu não posso usar mysqldumps porque existem cerca de 8000 bancos de dados. Sendo esse o caso, eu teria que derrubar o servidor por algumas horas.

Eu também estava pensando em usar as configurações antigas com o XtraBackup e depois alterá-lo quando o novo servidor for promovido a um tempo de inatividade sem mestre, mas não tenho certeza se isso funcionará?

Obrigado

Atenciosamente

    
por HTF 01.06.2012 / 00:25

3 respostas

2

"em torno de 8000 bancos de dados, então eu teria que desligar o servidor por algumas horas".

Já existe outro servidor escravo que você pode tirar da produção e usar como mestre temporário?

É o problema com o mysqldump o acerto de performance ou o travamento (no último caso --single-transaction --master-data pode ser viável. BTW, nunca confie em --triggers ou --routines sendo default!)

    
por 01.06.2012 / 00:56
1

Eu acho que a última sugestão soa como a melhor, que tipo de tamanho total você está falando?

Parece bastante simples fazer um despejo FULL de innobackupex e transferi-lo para o novo datacenter, e então trazer o novo servidor com o dump xtrabackup, mas com as configurações antigas do innodb.

Uma vez que esteja rodando no modo somente leitura, você pode mysqldump, para fornecer um arquivo SQL que você pode importar em qualquer lugar.

Depois, você pode recarregar o arquivo de despejo em uma nova instância do mysql com as novas configurações do innodb.

    
por 01.06.2012 / 00:39
1

Eu começaria com o instantâneo do LVM e as configurações originais. Chame o novo servidor. Desligue isso. Verifique se saiu corretamente. Mova o arquivo de log para fora do caminho, faça as alterações de configuração e, em seguida, reinicie. O Mysql deve criar novos e está tudo pronto.

Mais explicações detalhadas aqui

Você também pode ler como Calcular um bom tamanho de arquivo de log Innodb /

    
por 01.06.2012 / 00:44