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
- MySQL 正確刪除 binlog 日誌MySql
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- 如何安全刪除mysql下的binlog日誌薦MySql
- oracle歸檔日誌滿了,導致無法啟動 ORA-03113Oracle
- Linux檔案系統破壞,導致系統無法啟動解決辦法Linux
- 刪除歸檔日誌檔案
- 新增、刪除日誌檔案
- 在Linux中,如何實現檔案系統的快照和克隆?Linux
- 刪除日誌檔案組與日誌檔案成員
- ld.so.1庫檔案被破壞和刪除導致系統不能正常使用的解決
- mysql binlog日誌自動清理及手動刪除MySql
- 歸檔日誌無法歸檔導致資料庫hang住資料庫
- MySQL 日誌系統 redo log、binlogMySql
- win10系統刪除檔案提示檔案正在使用無法刪除如何解決Win10
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- 刪除某個檔案或資料夾時,系統提示無法刪除!
- Linux 命令列 rm 無法刪除檔案Linux命令列
- win7系統中的Log日誌檔案怎麼刪除Win7
- 電腦檔案被佔用無法刪除?Win10系統檔案被佔用無法刪除的解決方法Win10
- [轉] MySQL binlog 日誌自動清理及手動刪除MySql
- mysql bin 日誌的刪除MySql
- 如何刪除SAP 系統日誌
- 歸檔日誌的刪除
- 在Linux中,有一堆日誌檔案,如何刪除7天前的日誌檔案?Linux
- Linux伺服器無法刪除檔案怎麼辦?如何處理?Linux伺服器
- 【REDO】刪除REDO LOG重做日誌組後需要手工刪除對應的日誌檔案
- Workstation服務無法啟動導致無法訪問檔案伺服器伺服器
- MySQL 的日誌:binlogMySql
- MySQL的binlog日誌MySql
- 刪除日誌檔案組或成員
- 雲伺服器系統盤滿導致桌面檔案不見了的處理方法伺服器
- u盤裡的檔案無法刪除 如何刪除u盤裡刪不掉的檔案
- AIX 檔案過多無法刪除AI
- mysql 誤刪除表內資料,透過binlog日誌恢復MySql
- sql server日誌檔案總結及日誌滿的處理辦法SQLServer
- Linux 日誌檔案系統如何工作Linux
- linux檔案系統和日誌分析Linux