Mysql
Mysql 5.5 Master > Slave/Master > Slave 不工作
我正在嘗試獲取一個作為主數據庫但從另一台伺服器複製一個數據庫以將複製的數據庫和本地數據庫複製到另一個從屬數據庫的數據庫。
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)。