Mysql從現有從屬複製到新從屬
我希望你們的專家可以幫助我,我有這個拓撲:
Live DB(Master) —-> Backup Server (Master and slave) —-> Test DB
Backup server是Live DB的 slave ,Test DB是Backup server的 slave
從 Live 到備份伺服器的複制按預期工作,從備份到測試的複制是我有點困惑的地方,如果我在備份上創建一個測試數據庫,我可以看到它複製到測試數據庫,但如果我這樣做在 Live DB 上,它不會過濾到 Test DB(但會過濾到 Backup)。
我注意到的另一件事是 Backup 上的 binlog 大小非常小,只有 150 字節,而 Live 上接近 100M,(binlog 大小在 live 和 backup 上設置相同)
也許這是設計使然?也許不可能將奴隸連結在一起?
我測試數據庫的目標是(一旦工作)從我們的託管數據中心複製到我們的內部辦公室,然後使用內部從站在這裡更新我們的開發/質量保證/培訓數據庫(減少頻寬使用)。
以下是備份伺服器上的相關設置:(
/etc/mysql/my.cnf
)log_bin = /srv/mysql-binlogs/mysql-bin.log expire_logs_days = 7 max_binlog_size = 100M binlog_cache_size = 16M binlog-format = MIXED
眼鏡:
mysql 5.5
Debian Squeeze
謝謝,您的建議將不勝感激
我錯過了一個非常重要的選項:
log_slave_updates
現在二進制日誌正在增長!
ref: MySQL Slave Relay Logging 但不記錄二進制日誌
http://dev.mysql.com/doc/refman/5.5/en/replication-options-binary-log.html#sysvar_log_slave_updates
所以你在備份伺服器上創建數據庫並在 TestDB 上複製,但是如果你在實時伺服器上創建它不會在備份伺服器上複製。
在上述情況下,請檢查 my.cnf 文件下備份伺服器上的****replicate-do-db或 replicate-ignore-db變數。