Estratégia de backup usando replicação

Estratégia de backup usando replicação

Meu banco de dados de produção possui todas as tabelas MyISAM que são replicadas para um servidor escravo. Quando preciso fazer um backup, simplesmente paro o servidor mysql no escravo, copio os arquivos da tabela e então inicio o servidor novamente. Isso tem funcionado bem há vários anos. No entanto, agora preciso converter algumas tabelas do meu master para InnoDB porque estou tendo alguns problemas de bloqueio. Acho que não poderei mais simplesmente copiar os arquivos da tabela no escravo. Eu tenho algumas perguntas:

  1. É uma boa ideia misturar tabelas MyISAM e InnoDB no mesmo banco de dados? Tabelas de diferentes tipos serão usadas em junções e outras operações.

  2. Devo ter 2 processos de backup no escravo - 1 para fazer backup do MyISAM e outro para tabelas do InnoDB? Parece uma bagunça para mim.

  3. Posso converter as tabelas InnoDB em tabelas MyISAM no escravo e manter meu processo de backup existente? Uma tabela que é InnoDB no mestre pode ser replicada para a mesma tabela no formato MyISAM no escravo?

Responder1

  1. Tipos de tabelas mistas são adequados, embora você possa querer verificar a diferença de desempenho entre tabelas mistas e todas as tabelas do InnoDB para seu aplicativo específico.

  2. Mesmo sem misturar tabelas, sugiro fazer backup realizando um dump, que é muito preferível a copiar os arquivos/pastas, pois simplifica a mudança para outro servidor ou versão do MySQL.

  3. Não há razão para dividir isso em dois backups separados.

Eu desencorajaria fortemente você a alterar o formato da tabela no escravo, especialmente se você estiver usando transações. Ao reter as tabelas do InnoDB, o escravo processará corretamente as transações. Ao alterar as tabelas para MyISAM você pode causar problemas ao incluir transações parciais no backup, o que provavelmente será uma má notícia quando você precisar fazer uma restauração.

informação relacionada