O escravo do MySQL anexa nome do banco de dados de produção a novas visualizações

2

Eu tenho um banco de dados escravo que tem um nome diferente do que é a contrapartida de produção. (Estamos usando o replicate-rewrite-db opção.)

Quando executo um mysqldump do escravo (que faço para fazer cópias dev), duas das views do banco de dados têm o nome do banco de dados anexado a elas. Não consigo usar o arquivo de despejo para criar outra cópia sem editá-lo manualmente.

Se eu executar o mesmo mysqldump da cópia de produção, tudo sairá limpo. Então, por algum motivo, o escravo criou essas duas visualizações incorretamente. (As outras quatro exibições foram criadas antes de a replicação ser estabelecida, o que, acredito, explica a diferença. Confirmei que a replicação está em sincronia.)

Snippet do mysqldump do escravo:

/*!50001 VIEW 'database_slave'.'view_company' AS select 'database'.'company'.'id' AS 'id',
         'database'.'company'.'name' AS 'name','database'.'company'.'state' AS 'state',

O mesmo trecho do mysqldump, mas da produção (legal e limpo):

/*!50001 VIEW 'view_company' AS select 'company'.'id' AS 'id',
         'company'.'name' AS 'name','company'.'state' AS 'state',

Posso consertar isso sem ter que despejar de prod para o escravo?

    
por Mike S. 11.08.2011 / 18:39

2 respostas

0

A raiz do problema que eu estava tendo foi por causa da opção replicate-rewrite-db em uso. A replicação preserva o nome do banco de dados dentro das visualizações, portanto, a replicação para um banco de dados com um nome diferente causa esse problema.

Desde então, eliminamos o uso da opção replicate-rewrite-db , tendo determinado por essa e outras razões que replicate-rewrite-db é uma opção JBYCDMYS (Só porque você pode, não significa que deveria) .

    
por 20.02.2015 / 15:26
0

Parece que você acertou o bug do mysql: link Considere atualizar o mysql para a versão 5.1.X recente.

    
por 17.05.2012 / 14:01