AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 214416
Accepted
Samit
Samit
Asked: 2018-08-09 08:02:55 +0800 CST2018-08-09 08:02:55 +0800 CST 2018-08-09 08:02:55 +0800 CST

Adicionando o 4º nó na replicação do grupo MySQL travado em RECOVERING

  • 772

Meio Ambiente:

SO: Debian 9

MySQL: 5.7.23 (Executando no cluster de replicação de grupo)

Questão:

O cluster está funcionando bem com 3 nós mysql na replicação de grupo e todos estão funcionando bem. Ao adicionar um 4º nó no cluster de replicação de grupo, o 4º nó é capaz de se conectar ao mestre e a replicação é iniciada, no entanto, o 4º nó sempre aparece como "RECOVERING". Eu verifiquei os logs, mas não houve nenhum erro nos logs.

Como o 4º nó do mysql é capaz de se conectar aos outros membros e replicar os dados, tenho certeza de que não há problema na configuração do mysql.

Uma das suspeitas é que esteja em algum lugar relacionado aos eventos do binlog. Se eu verificar a contagem de 'SHOW BINGLOG EVENTS', ele mostra quase 141957 linhas, no entanto, os outros nós estão tendo apenas 3-4 linhas.

mysql> MOSTRAR EVENTOS BINLOG;
141957 linhas no conjunto (10,74 seg)

Por favor, deixe-me saber como posso adicionar o 4º nó no cluster de replicação de grupo mysql.

replication mysql-5.7
  • 1 1 respostas
  • 1710 Views

1 respostas

  • Voted
  1. Best Answer
    Samit
    2018-08-28T11:45:35+08:002018-08-28T11:45:35+08:00

    Finalmente, encontrei o problema e o corrigi. Os detalhes são fornecidos abaixo:

    1) O problema estava acontecendo por causa dos GTIDs executados no conjunto atual de nós de replicação de grupo e as configurações de log binário. Por padrão, os dias de expiração do log binário na configuração atual do MySQL foram definidos como 0 e isso significa que ele pode armazenar muitos arquivos de log binário que são basicamente usados ​​para transações de linha e replicação de grupo. Limpei os arquivos antigos de log binário e configurei os dias de expiração do log binário para '3'. Os comandos usados ​​para esse fim.

    mysql> PURGE BINARY LOGS TO 'binlog.000105';
    mysql> SET GLOBAL expire_logs_days = 3;
    

    2) Após executar os comandos acima no servidor MASTER, apaguei todos os arquivos antigos do log binário e agora a replicação deve demorar bastante. No entanto, depois de limpar os arquivos de log binário antigos, o MASTER não pode definir os outros nós, pois as conexões de nó para eventos MASTER estavam sendo purgadas que estavam nos arquivos de log binário mais antigos. Por isso, precisamos fazer algumas tarefas manuais.

    3) Pegue o mysqldump de todos os bancos de dados do MASTER atual e restaure-o no 4º nó mysql que você deseja adicionar.

    # mysqldump --all-databases --single-transaction --triggers --routines --host=127.0.0.1 --port=mysql_port --user=username --password=password > dump.sql
    # mysql -u root -ppassword < dump.sql
    

    4) Depois que a restauração for concluída, verifique se as configurações de replicação já foram feitas nas configurações do mysql de todos os nós e reinicie o nó.

    5) Reinicie a replicação no 4º nó e, em seguida, a replicação deve ser concluída em alguns minutos ou horas (depende do tamanho do banco de dados)

    mysql> START GROUP_REPLICATION
    

    6) Uma vez que o 4º nó mostra ONLINE, o nó faz parte do cluster de replicação de grupo e pode ser usado para outros fins.

    • 2

relate perguntas

  • Como você pode impedir que o escravo MySQL replique as alterações no banco de dados 'mysql'?

  • É imprudente executar a replicação no mesmo servidor físico?

  • Existe uma maneira de medir o atraso de replicação no MySQL com uma resolução inferior a 1 segundo?

  • Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo

  • Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve