處理mysql主從不同步問題

来源:https://www.cnblogs.com/rickenl/archive/2022/05/21/16293811.html
-Advertisement-
Play Games

問題描述:發現主庫操作數據從庫沒有變動問題,可能原因是從庫重啟導致的無法同步問題。 排查思路: 1、查看主從複製狀態 發現從庫的IO和SQL進程都是no(正常狀態應該是yes) 註意:mysql replication中slave機器上有兩個關鍵進程,死一個都不行,一個是slave_sql_runn ...


問題描述:發現主庫操作數據從庫沒有變動問題,可能原因是從庫重啟導致的無法同步問題。

排查思路

1、查看主從複製狀態

發現從庫的IOSQL進程都是no(正常狀態應該是yes)

註意:mysql replicationslave機器上有兩個關鍵進程,死一個都不行,一個是slave_sql_running,一個是slave_io_running,一個負責與主機的IO通信,一個負責自己的slave mysql進程。

2、解決辦法如下:

>stop slave;   ##停止同步

> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;   ##設置counter1,啟動同步

>show slave status\G;  ##查看同步狀態

3、發現SQL進程還是No

提示信息顯示如下:

Last_Errno: 1396

Last_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'fab1fc64-d0f2-11ec-a2a6-000c2950bca1:9' at master log mybinlog.000001, end_log_pos 1966. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

4、根據上面的提示,查詢到的異常數據出現在opp_starck表中

#select * from performance_schema.replication_applier_status_by_worker\G; 確定事務發生在表opp_strack上,定位在表上,再去排查是哪張表

可以參考https://blog.csdn.net/memory6364/article/details/86152717

5、主從數據恢復一致後需要在slave上跳過報錯的事務,在從庫中執行

使用GTID跳過錯誤的方法:找到錯誤的GTID跳過(通過exec_master_log_posbinlog里找GTID,或者則通過監控表replication_applier_status_by_worker找到GTID,也可以通過excured_gtid_setGTID),這裡使用監控來找到錯誤的GTID。找到GTID之後,跳過錯誤的步驟:

>stop slave;  #停止同步

>set @@session.gtid_next='fab1fc64-d0f2-11ec-a2a6-000c2950bca1:9'; #跳過錯誤的GTID

>begin;  #提交一個空事務,因為設置gtid_next後,gtid的生命周期就開始了,必須通過顯性的提交一個事務來結束,否則報錯:ERROR

>commit

>set @@session.gtid_next=automatic; #設置回自動模式

>start slave;  #啟動同步

>show slave status\G;  #再次確認狀態

 

6、如下圖主從複製恢復正常

GTID:是對於一個已提交事務的唯一編號,並且是一個全局(主從複製)唯一的編號。

GTID核心參數

重要參數:

gtid-mode=on --啟用gtid類型,否則就是普通的複製架構

enforce-gtid-consistency=true --強制GTID的一致性

log-slave-updates=1 --slave更新是否記入日誌

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 不久前,為了滿足工作中日常的各種實驗測試需求,終於按需求組裝一臺塔式的server T440。但是沒有多久就出現些問題,以下大概是問題和現象簡單描述: (1). 最開始時,沒幾天就出現自動重啟的問題,當時也正好做了一個比較消耗資源的大集群的實驗,當時初步判斷可能是記憶體資源不夠(實際按監控來看,並沒使 ...
  • 如何實現硬體和軟體的統一? 或者說如何把物理世界與電子學和電腦科學聯繫起來的? 寫在前面: 我一直覺得萬事萬物之間都是有聯繫的,我們現在所說的科學,有個這樣的解釋:科學科學,分科而學。以前的那些偉大的科學家們為了更好的理解這個世界,故而把物理世界進行了多層次、多維度的劃分。 今天在一個講座上,有個 ...
  • head head 命令可用於查看文件的開頭部分的內容,有一個常用的參數 -n 用於顯示行數,預設為 10,即顯示 10 行的內容。 命令格式: head [參數] [文件] 參數: -q或--quiet或--silent 不顯示包含給定文件名的文件頭即隱藏文件名。 -v或--verbose 總是顯 ...
  • 出現mysqld: Can't create directory 'D:\Environment\mysql-5.7.37 \data' (Errcode: 2 - No such file or directory)極大原因是my.ini的配置有問題 my.ini配置 [mysqld] based ...
  • 分享嘉賓:牟娜 阿裡巴巴 高級演算法工程師 編輯整理:孫鍇 內容來源:DataFun AI Talk《定向廣告新一代點擊率預估主模型——深度興趣演化網路》 出品社區:DataFun 導讀: 本次帶給大家分享是阿裡媽媽在2018年做的模型上的創新——深度興趣演化網路(Deep Interest Evol ...
  • 一、概述 Oozie是一個基於工作流引擎的開源框架,依賴於MapReduce來實現,是一個管理 Apache Hadoop 作業的工作流調度系統。是由Cloudera公司貢獻給Apache的,它能夠提供對Hadoop MapReduce和Pig Jobs的任務調度與協調。Oozie需要部署到Java ...
  • B+樹索引的正確使用 索引並不是越多越好,索引創建越多,MySQL維護的代價越高,如果SQL未能完全使用到索引,創建索引的意義是不大的。 適用條件 表x,創建索引a,b,c。主鍵y。 全值匹配 select * from x where a = '' and b = '' and c = '' 當我 ...
  • 導讀: 線上社交媒體平臺的發展,帶來了細粒度檢索、視頻語義摘要等媒體智能服務的巨大需求。現有的視頻理解技術缺乏深入的語義線索,結合視頻中人物的社交關係才能更完整、準確地理解劇情,從而提升用戶體驗,支撐智能應用。這裡主要介紹我們將動態分析和圖機器學習相結合,圍繞視頻中的人物社交關係網路所開展的兩個最新 ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...