Mysql

Mysql 5.5 Master > Slave/Master > Slave 不工作

  • November 3, 2021

我正在嘗試獲取一個作為主數據庫但從另一台伺服器複製一個數據庫以將複製的數據庫和本地數據庫複製到另一個從屬數據庫的數據庫。

SERVER1:master,只複製一個數據庫,cdr。除了從屬複製之外,我無權訪問此伺服器配置或數據庫

SERVER2:主要生產數據庫從 SERVER1 複製 cdr 數據庫沒有問題 這是一個 8TB 的數據庫,大部分時間大約 10k qps。我唯一可以更改 my.cnf 並重新啟動數據庫的時間是深夜。

SERVER3:新伺服器,試圖從 SERVER2 複製它的數據和 SERVER1 的 cdr 數據庫

我確實將 SERVER2 的 cdr 數據庫從 SERVER1 複製到 SERVER3,但嘗試重新配置 SERVER2 > SERVER3 以使其他數據庫複製時破壞了它。

SERVER 1:將一個數據庫 cdr 複製到 SERVER2

mysql> show slave status\G;
*************************** 1. row ***************************
              Slave_IO_State: Waiting for master to send event
                 Master_Host: ahost
                 Master_User: replicator
                 Master_Port: 3306
               Connect_Retry: 60
             Master_Log_File: mariadb-bin.002513
         Read_Master_Log_Pos: 56488490
              Relay_Log_File: mysqld-relay-bin.004995
               Relay_Log_Pos: 56488638
       Relay_Master_Log_File: mariadb-bin.002513
            Slave_IO_Running: Yes
           Slave_SQL_Running: Yes
             Replicate_Do_DB: cdr
         Replicate_Ignore_DB: 
          Replicate_Do_Table: 
      Replicate_Ignore_Table: 
     Replicate_Wild_Do_Table: 
 Replicate_Wild_Ignore_Table: 
                  Last_Errno: 0
                  Last_Error: 
                Skip_Counter: 0
         Exec_Master_Log_Pos: 56488490
             Relay_Log_Space: 56488840
             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: 0
Master_SSL_Verify_Server_Cert: No
               Last_IO_Errno: 0
               Last_IO_Error: 
              Last_SQL_Errno: 0
              Last_SQL_Error: 
 Replicate_Ignore_Server_Ids: 
            Master_Server_Id: 1000024
1 row in set (0.00 sec)

SERVER 2:主生產伺服器,一個數據庫從 SERVER1 複製,cdr,這工作正常。我確實設法讓 cdr 數據庫從 SERVER2 複製到 SERVER3,但試圖讓其他數據庫(如 rdrs)複製而破壞了它。

我的.cnf

[mysqld]

server-id = 500
expire_logs_days = 3
slave-skip-errors = 1062,1051
log_slave_updates=ON
replicate_do_db=cdr
log_bin = /var/lib/mysql/mysql-bin

SERVER 3:SERVER2 的從屬伺服器,應該從 SERVER2 複製所有內容,包括來自 SERVER1 的更新

我的.cnf

[mysqld]
server-id=1222

replicate-do-db=rdrs
replicate_do_db=cdr
replicate-do-table = clover.acct
log_slave_updates = ON
#replicate_ignore_table=clover.testdata_skiprep

show slave status

mysql> show slave status\G;
*************************** 1. row ***************************
              Slave_IO_State: Waiting for master to send event
                 Master_Host: bhost
                 Master_User: replicationv2
                 Master_Port: 3306
               Connect_Retry: 60
             Master_Log_File: mysql-bin.000462
         Read_Master_Log_Pos: 286428248
              Relay_Log_File: mysqld-relay-bin.000375
               Relay_Log_Pos: 81106343
       Relay_Master_Log_File: mysql-bin.000462
            Slave_IO_Running: Yes
           Slave_SQL_Running: Yes
             Replicate_Do_DB: rdrs,cdr
         Replicate_Ignore_DB: 
          Replicate_Do_Table: clover.acct
      Replicate_Ignore_Table: 
     Replicate_Wild_Do_Table: 
 Replicate_Wild_Ignore_Table: 
                  Last_Errno: 0
                  Last_Error: 
                Skip_Counter: 0
         Exec_Master_Log_Pos: 286428248
             Relay_Log_Space: 286428823
             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: 0
Master_SSL_Verify_Server_Cert: No
               Last_IO_Errno: 0
               Last_IO_Error: 
              Last_SQL_Errno: 0
              Last_SQL_Error: 
 Replicate_Ignore_Server_Ids: 
            Master_Server_Id: 500
1 row in set (0.00 sec)

我已經為此工作了幾天,但無法弄清楚。我認為這很簡單,但不確定缺少什麼。我確實在 SERVER3 的中繼日誌中看到了查詢,但它們沒有執行。

為了將所有 Server2 複製到 Server3:

擺脫 Server2 上的所有 binlog_(do/ignore)。

擺脫 Server3 上的所有 (replicate/binlog)_(do/ignore)。

引用自:https://dba.stackexchange.com/questions/302074