使用 perfomance schema 中的表來監控組複製,假定你的mysql編譯時已經啟動了 performance schema 表。組複製將新增如下兩張 p_s 表:
下面這些已存在的 p_s 複製表同樣也顯示一些組複製的資訊。
組複製外掛程式建立的通道名稱為:
下面一些小節中將描述這些表中可以獲取到的資訊。
字段描述
channel_name
組複製通道的名稱。
member_id
當前連線到的節點的uuid。組中每個節點的uuid值都必須唯一,也正因為如此,它也提供了一種key。
count_transactions_in_queue
衝突檢測佇列中事務的數量。一旦探測到衝突,且通過了檢查,則它們也會排隊後被應用和提交。
count_transactions_checked
已檢測到的衝突事務數量。
count_conflicts_detected
未通過衝突檢查的事務數量。
count_transactions_validating
衝突檢測資料庫的大小(根據該資料庫對每個事務進行確認)
transactions_committed_all_members
顯示在當前檢視中所有成員都成功提交的事務。該字段會在固定的時間間隔內更新。
last_conflict_free_transaction
顯示最後檢測到的無衝突事務的事務id。
這些字段對於監控連線組中成員的效能很重要。例如,假設組中某成員有些延遲,它沒有趕上組中其他成員的資料。這種情況下,你可能會看到佇列中有大量事務。根據這些資訊,你可以決定是將該成員踢出組還是延遲組中其他成員處理事務,以便減少佇列中的事務數量。這些資訊同樣可以幫助你決定如何調整組複製外掛程式的流程控制。
該錶用於監控當前檢視所跟蹤的節點狀態。或者換句話說,作為複製組的一部分,這些節點會被組成員服務跟蹤。
字段描述
channel_name
組複製的通道名稱。
member_id
成員節點的 uuid。
member_host
成員的位址。
member_port
用於成員間通訊的監聽埠。
member_state
成員的狀態(可能的狀態值online, error, recovering,offline 或 unreachable)
字段描述channel_name
組複製通道的名稱。
group_name
複製組的名稱。通常它是乙個有效的uuid值。
source_uuid
組的識別符號。它類似於組的名稱,它用做組複製期間產生的所有事務的uuid。
service_state
顯示該成員是否是組的一部分。可能的值有 。
received_transaction_set
該成員已經接收到的gtid集。
字段描述
channel_name
組複製通道的名稱。
service_state
remaining_delay
count_transactions_retries
應用事務的重試次數。
received_transaction_set
該成員已經接收到的gtid集。
在每次檢視發生改變時,replication_group_members 表會隨之更新。例如,組配置被動態更改。此時,節點之間會交換它們的元資料資訊並自我同步,然後協調達成一致。
組中節點可能有多種狀態。如果節點之間能正常通訊,則所有節點的報告資訊都是相同的。但如果發生了網路**,或節點離開了組,則可能會報告不同的資訊,這依賴於被查詢的是哪乙個節點。注意,如果節點已經離開了組,那麼顯然它不能報告其他節點相關的最新資訊。如果發生了網路**,以至於丟失了法定票數,則各節點將無法進行協調。因此,它們無法猜測其他節點的狀態是什麼。因此,它們不會報告它們猜測出來的狀態,而是會報告節點無法到達。
字段描述
組同步狀態
online
該節點已經準備好一切,可供客戶端連線,並可以執行事務。
yesrecovering
該節點正在加入組,它當前正處於分布式恢復階段,接收來自組的狀態資訊。
nooffline
外掛程式已載入,但還不是任何組中的成員。
noerror
無論是恢復階段還是應用階段發生錯誤,都會出現該狀態。
nounreachable
當本地故障探測器懷疑該節點不可到達時,將顯示該狀態。可能的原因是目標宕機、非自願離開組。
no 注意,組複製是非同步的,但會達到最終的同步(譯註:即最終一致性,強一致性)。更準確地說,事務按照相同的順序投遞到所有的成員上,但是它們每個節點對事務的執行非同步的,意味著在允許事務的提交後,每個成員按照它們自己的步調來執行事務。
監控MySQL組複製
強烈譴責大量盜文狗 波波說運維,說不定你們的文章也已被抄襲 使用 perfomance schema 中的表來監控組複製,假定你的mysql編譯時已經啟動了 performance schema 表。組複製將新增如下兩張 p s 表 下面這些已存在的 p s 複製表同樣也顯示一些組複製的資訊。組複製...
mysql非同步複製 半同步複製 組複製
sorce不管replica的死活,寫進binlog後,commit完成就算成功。如果最後乙個event沒有發給replica,主庫就掛了,那麼就會有丟失資料的風險。通過官方的半同步外掛程式,將binlog寫完後,傳送給replica,當replica寫入到relay log後,在主庫commit。...
SequoiaDB 巨杉資料庫複製組監控
使用者可以通過 sdb shell 或者其他驅動監控複製組,檢視複製組節點執行狀態。sequoiadb 巨杉資料庫提供多個快照,以檢視當前資料庫系統的各種狀態。其中節點健康檢測快照 sdb snap health 可以檢視到各個節點的健康狀態。var db new sdb sdbserver1 11...