mysql出現大量redolog、undolog排查以及解決方案

排查步驟

監控日志增長情況

-- 查看InnoDB狀態
SHOW ENGINE INNODB STATUS;-- 查看redo log配置和使用情況
SHOW VARIABLES LIKE 'innodb_log_file%';
SHOW VARIABLES LIKE 'innodb_log_buffer_size';-- 查看undo log信息
SHOW VARIABLES LIKE 'innodb_undo%';

檢查長時間運行的事務

-- 查看當前運行的事務
SELECT * FROM information_schema.INNODB_TRX;-- 查看長時間運行的事務
SELECT * FROM information_schema.INNODB_TRX 
WHERE TIME_TO_SEC(TIMEDIFF(NOW(), trx_started)) > 60;

檢查鎖等待情況

-- 查看鎖等待
SELECT * FROM sys.innodb_lock_waits;

檢查系統負載

-- 查看當前連接數
SHOW STATUS LIKE 'Threads_connected';-- 查看活躍連接數
SHOW STATUS LIKE 'Threads_running';
  1. SHOW ENGINE INNODB STATUS;
    用途:查看InnoDB存儲引擎的詳細運行狀態信息,包括事務、鎖、緩沖池、日志等關鍵指標。 輸出內容:
    事務信息:活躍事務數量、鎖等待情況
    緩沖池狀態:命中率、臟頁比例
    日志信息:redo log和undo log的寫入狀態
    鎖信息:行鎖/表鎖的持有和等待情況
    線程信息:InnoDB內部線程狀態
  2. SHOW VARIABLES LIKE ‘innodb_log_file%’;
    用途:查看redo log(重做日志)的文件配置。 關鍵參數:
    innodb_log_file_size:單個redo log文件大小(默認48M)
    innodb_log_files_in_group:redo log文件數量(默認2個)
  3. SHOW VARIABLES LIKE ‘innodb_log_buffer_size’;
    用途:查看redo log緩沖區大小配置。 說明:
    該參數控制內存中redo log緩沖區的大小(默認16M)
    緩沖區滿時會自動刷新到磁盤日志文件
    高寫入場景可適當調大(如32M或64M)
  4. SHOW VARIABLES LIKE ‘innodb_undo%’;
    用途:查看undo log(回滾日志)的相關配置。 常見參數:innodb_undo_directory:undo log存儲路徑
    innodb_undo_logs:回滾段數量(默認128)
    innodb_undo_tablespaces:獨立undo表空間數量
    innodb_undo_retention:undo log保留時間(秒)

常見原因

  • 長時間運行的事務:未提交的事務會阻止undo log的清理
  • 大事務:一次性修改大量數據
  • 高并發寫操作:導致redo log快速增長
  • 配置不當:日志文件大小或數量配置不合理
  • 復制延遲:在復制環境中可能導致日志堆積

解決方案

優化事務處理

  • 避免長時間運行的事務,盡快提交或回滾
  • 將大事務拆分為小事務
  • 設置事務超時時間

調整日志配置

-- 增加redo log文件大小和數量(需要重啟)
SET GLOBAL innodb_log_file_size = 256M;  -- 通常設置為1-2小時的寫入量
SET GLOBAL innodb_log_files_in_group = 4;  -- 通常2-4個-- 調整undo log設置
SET GLOBAL innodb_undo_tablespaces = 4;  -- 多個undo表空間
SET GLOBAL innodb_max_undo_log_size = 1G;  -- 控制undo log最大大小

定期維護

-- 定期清理歷史事務
SET GLOBAL innodb_purge_threads = 4;  -- 增加purge線程數-- 監控并手動觸發purge
SHOW VARIABLES LIKE 'innodb_purge_batch_size';

硬件和系統優化

  • 使用更快的存儲設備(如SSD)存放日志文件
  • 確保有足夠的I/O帶寬
  • 考慮增加服務器內存

監控和預警

設置監控系統,關注以下指標:

  • Undo log空間使用率
  • Redo log生成速度
  • 長時間運行事務數量
  • 鎖等待時間

緊急處理

如果日志已經占滿磁盤空間:

  • 臨時增加磁盤空間
  • 安全地重啟MySQL以重建日志文件(確保數據已同步到磁盤)
  • 對于undo log問題,可以嘗試終止長時間運行的事務

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92715.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92715.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92715.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

華為網路設備學習-28(BGP協議 三)路由策略

目錄: 一、BGP路由匯總1、注:使用network命令注入的BGP不會被自動匯總2、主類網絡號計算過程如下:3.示例 開啟BGP路由自動匯總bgp100 開啟BGP路由自動匯總import-route 直連路由 11.1.1.0 /24對端 為 10.1.12.2 AS 2004.手動配置BGP路…

微信小程序中實現表單數據實時驗證的方法

一、實時驗證的基本實現思路表單實時時驗證通過監聽表單元素的輸入事件,在用戶輸入過程中即時對數據進行校驗,并并即時反饋驗證結果,主要實現步驟包括:為每個表單字段綁定輸入事件在事件處理函數中獲取當前輸入值應用驗證規則進行…

openpnp - 頂部相機如果超過6.5米影響通訊質量,可以加USB3.0信號放大器延長線

文章目錄openpnp - 頂部相機如果超過6.5米影響通訊質量,可以加USB3.0信號放大器延長線概述備注ENDopenpnp - 頂部相機如果超過6.5米影響通訊質量,可以加USB3.0信號放大器延長線 概述 手頭有1080x720x60FPS的攝像頭模組備件,換上后&#xff…

【驅動】RK3576-Debian系統使用ping報錯:socket operation not permitted

1、問題描述 在RK3576-Debian系統中,連接了Wifi后,測試網絡通斷時,報錯: ping www.csdn.net ping: socktype: SOCK_RAW ping: socket: Operation not permitted ping: => missing cap_net_raw+p capability or setuid?2、原因分析 2.1 分析打印日志 socktype: SOCK…

opencv:圖像輪廓檢測與輪廓近似(附代碼)

目錄 圖像輪廓 cv2.findContours(img, mode, method) 繪制輪廓 輪廓特征與近似 輪廓特征 輪廓近似 輪廓近似原理 opencv 實現輪廓近似 輪廓外接矩形 輪廓外接圓 圖像輪廓 cv2.findContours(img, mode, method) mode:輪廓檢索模式(通常使用第四個模式&am…

mtrace定位內存泄漏問題(僅限 GNU glibc 的 Linux)

一、mtrace原理 函數攔截機制:mtrace 利用 glibc 的內部機制,對 malloc() / calloc() / realloc() / free() 等內存函數進行 hook,記錄每一次分配和釋放行為。日志記錄:記錄會寫入 MALLOC_TRACE 環境變量指定的日志文件中&#xf…

高校合作 | 世冠科技聯合普華、北郵項目入選教育部第二批工程案例

近日,教育部學位與研究生教育發展中心正式公布第二批工程案例立項名單。由北京世冠金洋科技發展有限公司牽頭,聯合普華基礎軟件、北京郵電大學共同申報的"基于國產軟件棧的汽車嵌入式軟件開發工程案例"成功入選。該項目由北京郵電大學修佳鵬副…

TOMCAT筆記

一、前置知識:Web 技術演進 C/S vs B/S – C/S:Socket 編程,QQ、迅雷等,通信層 TCP/UDP,協議私有。 – B/S:瀏覽器 HTTP,文本協議跨網絡。 動態網頁誕生 早期靜態 HTML → 1990 年 HTTP 瀏覽…

上海一家機器人IPO核心零部件依賴外購, 募投計劃頻繁修改引疑

作者:Eric來源:IPO魔女8月8日,節卡機器人股份有限公司(簡稱“節卡股份”)將接受上交所科創板IPO上會審核。公司保薦機構為國泰海通證券股份有限公司,擬募集資金為6.76億元。報告期內,節卡股份營…

Linux810 shell 條件判斷 文件工具 ifelse

變量 條件判斷 -ne 不等 $(id -u) -eq [codesamba ~]$ [ $(id -u) -ne 0 ] && echo "the user is not admin" the user is not admin [codesamba ~]$ [ $(id -u) -eq 0] && echo "yes admin" || echo "no not " -bash: [: 缺少 …

ChatGPT 5的編程能力宣傳言過其實

2025年的8月7日,OpenAI 正式向全球揭開了GPT-5的神秘面紗,瞬間在 AI 領域乃至整個科技圈引發了軒然大波。OpenAI對GPT-5的宣傳可謂不遺余力,將其描繪成一款具有顛覆性變革的 AI 產品,尤其在編程能力方面,給出了諸多令人…

從MySQL到大數據平臺:基于Spark的離線分析實戰指南

引言在當今數據驅動的商業環境中,企業業務數據通常存儲在MySQL等關系型數據庫中,但當數據量增長到千萬級甚至更高時,直接在MySQL中進行復雜分析會導致性能瓶頸。本文將詳細介紹如何將MySQL業務數據遷移到大數據平臺,并通過Spark等…

Mysql筆記-存儲過程與存儲函數

1. 存儲過程(Stored Procedure) 1.1 概述 1.1.1 定義: 存儲過程是一組預編譯的 SQL 語句和控制流語句(如條件判斷、循環)的集合,?無返回值?(但可通過 OUT/INOUT 參數或結果集返回數據)。它支持參數傳遞、…

[論文閱讀] 人工智能 + 軟件工程 | LLM協作新突破:用多智能體強化學習實現高效協同——解析MAGRPO算法

LLM協作新突破:用多智能體強化學習實現高效協同——解析MAGRPO算法 論文:LLM Collaboration With Multi-Agent Reinforcement LearningarXiv:2508.04652 (cross-list from cs.AI) LLM Collaboration With Multi-Agent Reinforcement Learning Shuo Liu, …

使用OAK相機實現智能物料檢測與ABB機械臂抓取

大家好!今天我們很高興能與大家分享來自OAK的國外用戶——Vention 的這段精彩視頻,展示了他們的AI操作系統在現實中的應用——在演示中,進行實時的自動物料揀選。 OAK相機實時自動AI物料揀選視頻中明顯可以看到我們的OAK-D Pro PoE 3D邊緣AI相…

html5和vue區別

HTML5 是網頁開發的核心標準,而 Vue 是構建用戶界面的JavaScript框架,兩者在功能定位和開發模式上有顯著差異: 核心定位 HTML5是 HTML標準 的第五次重大更新(2014年發布),主要提供網頁結構定義、多媒體嵌入…

【前端八股文面試題】【JavaScript篇3】DOM常?的操作有哪些?

文章目錄🧭 一、查詢/獲取元素 (Selecting Elements)?? 二、修改元素內容與屬性 (Modifying Content & Attributes)🧬 三、創建與插入元素 (Creating & Inserting Elements)🗑? 四、刪除與替換元素 (Removing & Replacing)&am…

內存殺手機器:TensorFlow Lite + Spring Boot移動端模型服務深度優化方案

內存殺手機器:TensorFlow Lite Spring Boot移動端模型服務深度優化方案一、系統架構設計1.1 端云協同架構1.2 組件職責矩陣二、TensorFlow Lite深度優化2.1 模型量化策略2.2 模型裁剪技術2.3 模型分片加載三、Spring Boot內存優化3.1 零拷貝內存管理3.2 堆外內存模…

安全生產基礎知識(一)

本文檔圍繞安全生產基礎知識展開: 一、安全用電相關知識 用電安全要點 禁止用濕手觸摸燈頭、開關、插頭插座及用電器具。發現有人觸電,切勿用手拉扯,應立即拉開電源開關或用干燥木棍、竹竿挑開電線。電器通電后出現冒煙、燒焦味或著火時&…

Elasticsearch 搜索模板(Search Templates)把“可配置查詢”裝進 Mustache

1. 什么是 Search Template?能解決什么問題? 搜索模板是存儲在 ES 集群里的 Mustache 模板(lang: mustache)。你把一份標準 _search 請求體寫成模板,變量交給 params,每次調用只需傳參即可: 搜索…