數據表的基本操作. MySQL 資料庫支持多種數據類型,大致可以分為 3 類:數值類型、日期和時間類型、字元串(字元)類型。 (1)數值類型 數值類型用於存儲數字型數據,這些類型包括整數類型(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT),浮點數類型(FLOAT、DOU ...
MySQL5.7和8.0支持通過 replication_applier_status 表獲同步延遲時間,當從庫出現延遲後,該表中的欄位 REMAINING_DELAY 記錄延遲秒數,當沒有延遲時,該欄位值為NULL,官方對該欄位介紹如下:
REMAINING_DELAY If the replica is waiting for DESIRED_DELAY seconds to pass since the source applied an event, this field contains the number of delay seconds remaining. At other times, this field is NULL. (The DESIRED_DELAY value is stored in the replication_applier_configuration table.)
官方介紹:https://dev.mysql.com/doc/mysql-perfschema-excerpt/5.7/en/performance-schema-replication-applier-status-table.html
因此,我們可以監控該欄位判斷是否有延遲,當有延遲時,通知相關人處理。
最簡單的辦法是通過現有的監控工具來監控。
第一步:
註冊監控賬號,有郵箱就能註冊,很簡單,網址:https://dataalert.cn/
第二步:
選擇數據源,點擊右上角添加
註意:數據源中的資料庫需要指定 performance_schema
第三步:
選擇監控配置,點擊右上角添加
上面配置表示從早上8:00到晚上20:59之間,每10分鐘監控一次 replication_applier_status 表中的 REMAINING_DELAY 欄位的值。
第四步:
配置異常告警,點擊告警規則進行配置
上面配置表示,只要監控的REMAINING_DELAY值大於1,就會進行報警。
第五步:
配置報警接收人,先配置訂閱者,再到監控配置中選擇訂閱
註:訂閱地址為釘釘群的自定義機器人Webhook,獲取方式參考(只看文章中的步驟一): https://open.dingtalk.com/document/robots/custom-robot-access
選擇上一步配置好的訂閱者即可,此時,當有告警時會通知到對應的釘釘群,可以在群里直接進行告警後續出處理。
至此,監控搞定~
你也可以在首頁看到相關統計數據即告警信息等。
當然,該方法除了監控MySQL同步延遲外,還可監控所有基於資料庫的數據,如訂單量監控,新增用戶數監控等各種業務指標監控,對監控的數據也可以配置報告,定時推送監控指標。