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 / 9756
Accepted
tarnfeld
tarnfeld
Asked: 2011-12-28 01:22:10 +0800 CST2011-12-28 01:22:10 +0800 CST 2011-12-28 01:22:10 +0800 CST

Mysql acha que Master & Slave têm o mesmo server-id

  • 772

Estou montando um master->slave_a->slave_brelacionamento e tendo um pouco de dificuldade. Atualmente tenho a master->slave_areplicação funcionando bem.

Cada um dos dois escravos tem exatamente a mesma configuração, exceto o nome do host server-id. Sempre que tento iniciar o escravo slave_b, tenho o seguinte erro pop-up:

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).

Eu realmente não entendo, porque tenho todos os IDs de servidor a milhas de distância 1->2626->2629(m->s->s).

Estou configurando-os no meu /etc/mysql/conf.d/replication.cnfarquivo - e parece estar sendo incluído, mas não tenho ideia de como posso verificar qual ID do servidor o mysql está pegando.

Obrigado antecipadamente :) Tom.

mysql replication
  • 7 7 respostas
  • 37532 Views

7 respostas

  • Voted
  1. Best Answer
    RolandoMySQLDBA
    2011-12-28T08:57:56+08:002011-12-28T08:57:56+08:00

    O server_id do mestre é registrado em seus logs binários junto com cada consulta executada até a conclusão. Para ver esses valores server_id no log binário, você executa mysqlbinlog em qualquer log binário.

    Como Master -> Slave_A funciona bem, aqui está o que você pode fazer para limpar as coisas entre Slave_A e Slave_B:

    No Slave_A, execute o seguinte no mysql:

    mysql> STOP SLAVE;
    mysql> RESET MASTER;
    

    Em Slave_A, execute o seguinte no SO:

    $ echo "STOP SLAVE;" > /root/MyData.sql
    $ mysqldump -u... -p... --master-data=1 --routines --triggers --all-databases >> /root/MyData.sql
    $ echo "START SLAVE;" >> /root/MyData.sql
    $ mysql -hSlave_B -u... -p... -A < /root/MyData.sql
    

    No Slave_A, execute o seguinte no mysql:

    mysql> START SLAVE;
    

    Isso fará com que Slave_B olhe para os valores corretos para server_id e também restabeleça a Replicação do MySQL.

    BTW Você precisa ter certeza de que o log binário está desabilitado no Slave_B, pois não é necessário para um Slave, a menos que Slave_B esteja indo de um Master para algum outro Slave.

    • 2
  2. Otto
    2017-02-20T04:11:21+08:002017-02-20T04:11:21+08:00

    No meu caso (master-slave) resolvi deletar este arquivo

    C:\ProgramData\MySQL\MySQL Server 5.7\Data\auto.cnf
    

    e, em seguida, reiniciar o serviço MySQL, quando o serviço MySQL for iniciado, gerará um novo UUID

    • 2
  3. jaybrau
    2017-04-13T12:33:37+08:002017-04-13T12:33:37+08:00

    A solução de Chumillas no Linux se parecia com o seguinte. Todos os comandos foram executados no escravo, sem necessidade de recarregar o banco de dados, sem reinicialização do mestre e todo o processo leva apenas alguns segundos:

    mysql> STOP SLAVE;
    
    $ sudo service mysql stop
    
    $ sudo mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bak
    
    $ sudo service mysql start
    
    • 1
  4. Vaibhav Fouzdar
    2015-02-20T10:11:41+08:002015-02-20T10:11:41+08:00

    Eu estava lutando com esse problema por algum tempo em que o mestre mostra um erro

    Master & Slave foram configurados corretamente com diferentes IPs e diferentes "server-id" em my.ini


    Relay_Master_Log_File: log-bin.000001
    Slave_IO_Running: No
    Slave_SQL_Running: Yes
    Replicate_Do_DB:
    Replicate_Ignore_DB:
    Replicate_Do_Table:   
    .
    .
    .    
    Last_IO_Errno: 1593
    Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
    Last_SQL_Errno: 0
    

    PROBLEMA:
    O SQL_Thread escravo também estava sendo executado no servidor mestre...(Não tenho certeza de como :( )

    CORREÇÃO:
    execute "parar escravo;" no MESTRE

    POST ACTIONS
    Verifique se a replicação ainda está funcionando verificando o status do escravo (no SLAVE)

    No meu caso, acima corrigiu o problema e a replicação mestre-escravo também funcionou bem depois disso.

    • 0
  5. Seadon Francis Pinto
    2017-12-15T21:02:17+08:002017-12-15T21:02:17+08:00

    Eu enfrentei o problema semelhante com o mesmo erro. A solução foi corrigir o PublicIP ao criar um salve na consulta "CHANGE MASTER TO MASTER_HOST".

    O mesmo erro aparece quando você usa o mesmo IP do slave como masterIP ao criar um slave. Assim, o servidor escravo MySql tende a apontar para o mesmo IP do servidor (IP escravo em vez do IP mestre) formando um conflito de mesmo ID do servidor

    • 0
  6. lainatnavi
    2018-04-16T04:12:24+08:002018-04-16T04:12:24+08:00

    Remova o auto.cnf copiado do datadir do mestre. Reinicie o mysqld.

    • 0
  7. Mark Steben
    2019-04-23T04:43:09+08:002019-04-23T04:43:09+08:00

    Eu tenho o mesmo erro, mas foi miopia da minha parte. O servidor que estou usando agora como escravo já foi o mestre. Então, uma vez que tentei iniciar o escravo, o valor do status 'master_host' do show slave foi padronizado para esse servidor i/p, não para o novo mestre i/p. Então, executei novamente o comando 'change master' adicionando o 'master_host' apontando para o novo mestre. DUH!! Talvez isso possa ajudar alguém no caminho.

    • 0

relate perguntas

  • Onde posso encontrar o log lento do mysql?

  • Como posso otimizar um mysqldump de um banco de dados grande?

  • Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?

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

  • Como um grupo pode rastrear alterações no esquema do banco de dados?

Sidebar

Stats

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

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

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

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

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 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
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +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
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +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