監控MySQL組複製

2021-09-26 05:20:39 字數 2420 閱讀 3560

強烈譴責大量盜文狗:波波說運維,說不定你們的文章也已被抄襲

使用 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...