movendo um escravo mysql para um novo host: Falha ao abrir o log de relay

1

Eu tenho uma configuração mestre-mestre que eu quero passar para um novo par de servidores (do linux para o opensolaris). os nomes das caixas linux são shard1-1 e shard1-2, e os nomes das caixas osol são shard1-1-osol e shard1-2-osol.

isto é o que eu fiz:  1. derrubou o servidor mysql em ambas as caixas de linux, copiou os dados para as caixas de osol.  2. master.info editado em cada uma das caixas do osol, mudou o master de shard1-1 para shard1-1-osol e vice-versa em ambas as máquinas.

quando iniciei o mysql na primeira máquina osol, vejo isso no log de erros: Parece que o mysql não gosta da mudança do nome do host, e está reclamando disso. o arquivo mysqld-relay-bin.000707 existe no datadir, então não está claro o que o mysql está reclamando.

090902  2:26:03  InnoDB: Started; log sequence number 246 3528553673
090902  2:26:03 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=shard1-1-osol-relay-bin' to avoid this problem.
090902  2:26:03 [ERROR] Failed to open the relay log './mysqld-relay-bin.000707' (relay_log_pos 19653396)
090902  2:26:03 [ERROR] Could not find target log during relay log initialization
090902  2:26:03 [ERROR] Failed to initialize the master info structure
    
por Omry 02.09.2009 / 11:59

4 respostas

2

O servidor não pode encontrar os logs de retransmissão porque eles são nomeados com base em parte no nome do host. Você vai ter TODOS OS TIPOS de problemas tentando trazer o escravo usando essa técnica. Eu sugiro reinicializar o escravo do novo mestre. Basta soltar todos os bancos de dados no escravo, pegar um dump do mestre usando mysqldump, importá-lo para o escravo e depois usar CHANGE MASTER TO para configurar a replicação do novo mestre. É muito mais fácil tentar solucionar todos os problemas que você vai encontrar.

    
por 02.09.2009 / 14:55
1

Eu tenho que discordar até certo ponto. Você pode renomear os arquivos de log e atualizar o relay-log.info, o arquivo .index relevante e / ou definir o 'log-bin' definido em my.cnf para que funcione.

    
por 12.10.2011 / 16:41
1

Um guia útil para um problema que tem efeitos semelhantes aos seus é Cuidado com as alterações do nome do host ao usar a replicação! , por Trent da Sun / MySQL.

    
por 02.09.2009 / 15:35
0

Se estiver apenas reclamando sobre os logs de retransmissão, na maioria dos casos, eles são descartáveis se o mestre ainda tiver os logs binários ao redor. Você pode simplesmente executar CHANGE MASTER TO no escravo e ele irá liberar os logs de relay existentes e começar de novo. Você não precisa fazer uma nova cópia.

    
por 12.10.2011 / 16:36