MySQL Linux伺服器快照克隆引起的binlog日誌無法正常刪除導致檔案系統滿
最近,一個mysql資料庫Linux伺服器檔案系統空間滿,檢視是binlog消耗絕大部分空間;經瞭解mysql資料庫每天進行全備並刪除1天前binlog日誌;然而,2022.11.15日開始的binlog均沒刪除,後續瞭解到linux伺服器被快照克隆,檢視mysql錯誤日誌發現2022.11.15日誌提示shutdown normal,負責人反饋直接重啟作業系統未關閉mysql。由此,猜測克隆時的binlog日誌被損壞,mysql識別不到binlog日誌,後續的binlog日誌無法刪除積累直到檔案系統空間滿。後續處理,2022.12.2當天將2022.11.28之前的binlog移動到其他檔案系統,重啟mysql時日誌提示找不到被移走的binlog日誌,使用purge命令指定刪除7天前和2022.11.28 00:00:00的日誌清理失敗,最後purge特定binlog前的日誌成功。
一、問題現象
檔案系統滿,mysql無法啟動,system-lv_*對應的檔案系統為故障檔案系統,這裡看到的是已經緊急擴了300G,
處理故障時可用空間只有48MB。
二、問題分析
根據經驗可能是Mysql binlog日誌佔用過多空間,檢視binlog保留時間為0,此是可疑點。
詢問運維人員反饋該mysql備份策略為每天全備並刪除一天的binlog日誌
備份軟體備份任務提示均是成功的
然而,2022-12-02之前的binlog直到2022-11-15的都存在,這裡只顯示部分,根據統計一天的binlog有近60G,積累了18天的binlog有一個TB。到這裡,備份軟體是有問題的,binlog實際沒有刪除仍然提示成功並且沒有預警。
後續問題分析,經溝通,該mysql伺服器在2022-11-15做過快照克隆,操作直接shutdow -h now關閉主機,mysql 錯誤日誌提示shutdown normal並提示mysqld被force關閉。
到此,猜測資料庫被異常關閉binlog損壞導致binlog無法正常刪除。
三、問題處理
將部分日誌移動到/home/mysqlbinlog資料夾下,重啟mysql提示被移走的binlog找不到
只能將日誌移動回來,指定日期purge清理binlog日誌,命令提示成功,但是binlog並沒有從檔案系統刪除。
指定刪除7天前的binlog進行purge清理 ,命令提示成功,但是binlog並沒有從檔案系統刪除。
指定特定的binlog方式purge之前的所有binlog日誌,命令提示成功,檔案系統釋放成功
再次執行清理2022-11-30之前的binlog日誌,能夠成功清理
清理完binlog日誌後,重啟mysql正常
四、總結
mysql及其附屬主機維護,主機關閉前一定要正常將mysql關閉掉;
mysql開啟binlog時一定要設定expire_logs_days引數;
備份軟體需要改進,不能只憑purge命令返回結果就任務操作執行完成成功,還需要實際判斷檔案系統空間用量釋放情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2926570/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 正確刪除 binlog 日誌MySql
- Linux系統定時清空日誌內容和刪除日誌檔案教程。Linux
- 在Linux中,如何實現檔案系統的快照和克隆?Linux
- MySQL 日誌系統 redo log、binlogMySql
- [轉] MySQL binlog 日誌自動清理及手動刪除MySql
- win10系統刪除檔案提示檔案正在使用無法刪除如何解決Win10
- 在Linux中,有一堆日誌檔案,如何刪除7天前的日誌檔案?Linux
- 【趙渝強老師】MySQL的binlog日誌檔案MySql
- Linux伺服器無法刪除檔案怎麼辦?如何處理?Linux伺服器
- 電腦檔案被佔用無法刪除?Win10系統檔案被佔用無法刪除的解決方法Win10
- MySQL 的日誌:binlogMySql
- Linux檔案系統與日誌分析Linux
- linux檔案系統和日誌分析Linux
- Linux 日誌檔案系統如何工作Linux
- Linux 5.12 的 exFAT 檔案系統更快刪除大檔案Linux
- mysql 誤刪除表內資料,透過binlog日誌恢復MySql
- u盤裡的檔案無法刪除 如何刪除u盤裡刪不掉的檔案
- Linux--檔案系統與日誌分析Linux
- 雲伺服器系統盤滿導致桌面檔案不見了的處理方法伺服器
- 教你自動恢復MySQL資料庫的日誌檔案(binlog)MySql資料庫
- 在Linux中,有哪些系統日誌檔案?Linux
- win10系統無法刪除Internet臨時檔案怎麼辦Win10
- 在Linux系統中如何刪除一個檔案?Linux
- MySQL連線數過多導致服務無法正常執行MySql
- windows10系統怎麼刪系統日誌_win10如何徹底刪除系統日誌WindowsWin10
- Mysql-binlog日誌-TMySql
- Windows10系統下檔案被佔用無法刪除的解決方法Windows
- 【伺服器資料恢復】重灌系統導致XFS檔案系統分割槽無法訪問的資料恢復伺服器資料恢復
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- ORACLE OGG引數修改引起佇列檔案異常導致抽取程式無法啟動Oracle佇列
- oracle 刪除過期的歸檔日誌Oracle
- sql2008刪除log檔案和清空日誌的方法SQL
- log4j2定期刪除日誌檔案的配置
- 【MySQL日誌】MySQL日誌檔案初級管理MySql
- Standby_file_management引數導致日誌無法應用
- linux系統下檔案誤刪除該如何恢復?Linux
- Linux 檔案系統與日誌分析的相關知識Linux
- Linux批量刪除檔案Linux