Mysql
MySQL 複製 A->B->C
我正在為 master -> slave/master -> slave 設置 MySQL 複製,並為 master -> slave 設置複製,但當我在 my.cnf 中啟用此選項時
log-slave-updates=1
為了更新主 bin 日誌,我的複制開始變慢並且時間
Seconds_Behind_Master
在成長。
我使用 innodb 引擎,但數據庫很大。知道如何改進複製,看起來網路不是問題。我也想用
binlog_format=ROW
但是master正在使用複制’statement’的預設設置,我無法重置master;)
謝謝 …
嘗試找出瓶頸是什麼
- 是從機的cpu限制嗎
$$ mysql replication in 5.1 and 5.5 is single threaded, it’ll use just once core $$. 如果是 - 考慮在從屬主機上放置更快的 CPU。
- 它是主機上的 io 子系統嗎?如果是這樣 - 考慮更多的主軸、ssd 或可能在回寫模式下具有更大 bbu 記憶體的 raid 卡以“吸收”寫入峰值
您可能還想尋找“在
$$ mysql $$box’ 解決方案,如鎢複製器。
你真的有 3 個 master 的非同步複製嗎?這是一個非常糟糕的主意。如果您失去了一個節點,您剩餘的節點將變得越來越不同步。
我也想用…binlog_format=ROW
這取決於您的查詢是什麼樣的,它可能會有所幫助,但 MIXED 模式可能是更好的解決方案。
我使用 innodb 引擎,但數據庫很大。
如果您的數據庫大小正在影響複製性能,那麼您顯然有很大的空間可以通過模式更改和查詢調整來提高性能。
但是主伺服器正在使用複制“語句”的預設設置,我無法重置主伺服器
為什麼不?