您好,登錄后才能下訂單哦!
本篇內容主要講解“如何處理生產線MySQL庫Binlog日志占滿磁盤的故障”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何處理生產線MySQL庫Binlog日志占滿磁盤的故障”吧!
一、故障描述
今天早上監控平臺郵件通知生產某業務系統的MySQL數據庫存儲空間達到了90%,趕緊爬起來遠程連上數據庫主機,發現Master雙主MySQL數據庫10.5.11.105、和10.5.11.106數據目錄/var/lib/mysql空間使用率達到了97%和96%。
二、問題分析過程
首先查詢確認數據庫主從關系
登錄10.5.11.105和10.5.11.106數據庫,執行語句:show slave status\G; 查看。
說明10.5.11.106數據庫master-bin.000779之前的binlog是可以清理的。
執行語句:show slave hosts \G 查看server id。
說明Server_id:33333是10.5.11.105的從庫。
執行語句:show variables like ‘server_id’可以確認。
三、查詢binlog自動清理是否開啟
執行如下語句show variables like 'expire_logs_days';
查看參數發現binlog自動清理功能沒有開啟。
四、查看具體的binlog文件
執行語句:show binary logs;
可以看到有大量的binlog文件。
五、查看binlog具體的存放路徑
執行語句:show variables like '%log_bin_basename%'; 查看。
六、問題的根本原因
經過排查,我們發現問題的根本原因在于沒有開啟binlog自動清理功能,導致有大量的binlog進行積壓所致。
七、處理問題
清理binlog文件。通過確認主從應用最新的binlog來清理binlog,使用如下命令,清理的時候可以多留幾個binlog,注意不要手動rm binlog文件。
1、Purge binary logs to_’binlog文件名’;來清理binlog日志。
2、開啟自動清理binlog日志功能(主從庫都需執行)
執行語句:
set global expire_logs_days=10;
并在/etc/my.cnf的配置文件中增加如下配置:
expire_logs_days=10
注意:binlog日志過期時間可根據自己公司的要求自定義,我這里設置的是10天!
到此,相信大家對“如何處理生產線MySQL庫Binlog日志占滿磁盤的故障”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。