O que eu preciso saber para alterar um esquema de tabela que está sendo replicado?

2

Eu preciso atualizar o esquema quando deixei acidentalmente algumas restrições de chave estrangeira.

O servidor de banco de dados é o MySQL 5.1.48 e as tabelas que estão sendo alteradas são InnoDB.

O servidor é replicado usando Master / Slave.

O que preciso saber ou fazer para alterar adequadamente um esquema de banco de dados de produção?

    
por Kevin Herrera 17.08.2011 / 18:40

2 respostas

1
As instruções

ALTER TABLE são replicadas através do log binário, da mesma forma que qualquer outra alteração na tabela. Nenhuma consideração especial é necessária para o lado da replicação.

    
por 17.08.2011 / 18:48
1

Espero que isso seja o que você precisa, já que você não forneceu detalhes suficientes:

A) SEMPRE (e eu realmente quero dizer, SEMPRE ) faz um backup antes de você tentar tal mudança no prod

B) no console do mysql: ALTER TABLE fsckeduptable DISABLE KEYS; SET FOREIGN_KEY_CHECKS = 0; .... faça o que você tem que fazer ... SET FOREIGN_KEY_CHECKS = 1; ALTER TABLE yourtablename ENABLE KEYS;

C) if (shit_happened) {restaurar backup; abortar isso; encontre outro método} D) se tudo estiver ok, marque a tabela em slaves (show create table) e veja se suas modificações se propagaram, então verifique se os apps são usados; if (shit_happened) ver #C)

    
por 17.08.2011 / 18:48

Tags