Configurando a replicação do MysqlMM com instâncias do EC2 com IPs elásticos para ambos

1

Eu apenas girei duas instâncias do EC2 e obtive um IP elástico para cada uma. Eu não consigo consegui-lo para se conectar. Aqui está a maior parte da minha configuração:

auto_increment_offset=2

log-bin=master2-bin
binlog-ignore-db=mysql

server-id = 2

master-host = 10.122.191.151
master-user = slaverep
master-password = *********
master-port = 3306

a configuração para o outro servidor é muito similar (mas IP diferente entre algumas coisas).

Quando eu corro:

mysql> show slave status\G;

Eu vejo o seguinte:

*************************** 1. row ***************************
           Slave_IO_State: Connecting to master
              Master_Host: 107.20.178.31
              Master_User: replication
              Master_Port: 3306
            Connect_Retry: 60
          Master_Log_File: mysqld-bin.000002
      Read_Master_Log_Pos: 1145380
           Relay_Log_File: mysqld-relay-bin.000005
            Relay_Log_Pos: 618
    Relay_Master_Log_File: mysqld-bin.000002
         Slave_IO_Running: No
        Slave_SQL_Running: No
          Replicate_Do_DB: 
      Replicate_Ignore_DB: 
       Replicate_Do_Table: 
   Replicate_Ignore_Table: 
  Replicate_Wild_Do_Table: 


Replicate_Wild_Ignore_Table: 
                   Last_Errno: 1062
                   Last_Error: Error 'Duplicate entry '2124' for key 'PRIMARY'' on query. Default database: 'phpmyfaq'. Query: 'INSERT INTO 
                            faqsessions
                        (sid, user_id, ip, time)
                            VALUES
                        (2124, -1, '10.223.61.111', 1314625795)'
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 472
              Relay_Log_Space: 1148388
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1130
                Last_IO_Error: error connecting to master '[email protected]:3306' - retry-time: 60  retries: 86400
               Last_SQL_Errno: 1062
               Last_SQL_Error: Error 'Duplicate entry '2124' for key 'PRIMARY'' on query. Default database: 'phpmyfaq'. Query: 'INSERT INTO 
                            faqsessions
                        (sid, user_id, ip, time)
                            VALUES
                        (2124, -1, '10.223.61.111', 1314625795)'
1 row in set (0.00 sec)

ERROR: 
No query specified

Eu não sei o que fazer neste momento ...

EDITAR:

Corrigi as minhas configurações para corresponder ao seguinte: MASTER1:

auto_increment_increment = 1
auto_increment_offset = 2

MASTER2:

auto_increment_increment = 2
auto_increment_offset = 2
    
por Publiccert 30.08.2011 / 19:20

1 resposta

2

Ambos os servidores estão tentando usar os mesmos conjuntos de IDs de incremento automático, causando um conflito quando a replicação ocorre.

Para corrigir isso, você precisa ajustar o auto_increment_offset (para 1 no primeiro servidor, 2 no segundo) e auto_increment_increment (para 2). Se você eventualmente adicionar um terceiro servidor, seu auto_increment_offset precisaria ser 3 e todos os três servidores precisariam de auto_increment_increment de 3.

Isso fará com que o servidor 1 use IDs de incremento automático de 1, 3, 5, 7, 9 ... e o servidor 2 usará 2, 4, 6, 8, 10, evitando conflitos.

    
por 30.08.2011 / 19:47