Mysql replicate-rewrite-db não funciona

3

Foi "escravo" nesta questão durante todo o dia.

Eu tenho uma configuração mestre / escravo que funciona, mas quando tento replicar para um nome de banco de dados diferente no escravo, ele falha. Isto é o que my.cnf parece:

server-id=101
report-host=Slave01

replicate_do_db='DB1'
replicate-rewrite-db=DB1->DB2

replicate-ignore-table=DB2.SOME_TABLE_NAME

Se eu remover a linha replicate-rewrite-db, ela funcionará perfeitamente e replicará o banco de dados DB1 do mestre para o escravo. A posição do registro mestre que estou usando no escravo é após a chamada CREATE DATABASE DB1 no mestre. Após essa posição de log, as tabelas são criadas e os dados importados no mestre. Eu não configuro e inicio o escravo até depois de criar o banco de dados DB2.

Alguma idéia?

Update: vi isso no log de erro do mysql:

120531 15:48:19 [Note] Slave I/O thread: connected to master 'slave_user@master_server:3306',  replication started in log 'mysql-bin.000001' at position 107
120531 15:48:20 [ERROR] Slave: Error 'Unknown database 'DB1'' on query. Default database: 'DB1'. Query: 'CREATE TABLE 'ANOTHER_TABLE' (
    
por Ed Manet 31.05.2012 / 21:14

1 resposta

6

Recebi uma dica em um comentário, mas o usuário já o excluiu.

O truque é não usar o replicate-do-db e usar somente o replicate-rewrite-db:

#replicate_do_db='DB1'
replicate-rewrite-db=DB1->DB2

Comentando a linha replicate_do_db em my.cnf, consertei para mim.

Obrigado ao usuário misterioso que me apontou na direção certa, quem você é.

    
por 31.05.2012 / 22:29