MySQL binlog日誌存放位置的修改

2021-09-19 19:00:32 字數 1523 閱讀 5730

最近專案上裝的mysql服務,分配的磁碟空間太小了,導致binlog日誌兩天時間就能打滿,這裡記錄下處理方式。

mysql的binlog日誌是乙個很重要的日誌,以事件形式記錄了所有的ddl和dml(除了資料查詢語句)語句,還包含執行的消耗的時間,在資料丟失的緊急情況下,我們可以利用binlog日誌功能進行資料恢復。

1、問題上面說了,預設情況下binlog日誌預設在/var/spool/mail/root路徑下,磁碟空間比較小很快就被binlog打滿了,為了保證專案上能正常使用,之前是維護人員手動清理和備份。在找到重新掛盤和修改binlog日誌路徑方法前,先給現場的配置下自動清理。

2、配置自動清理在my.cnf檔案中,這個檔案路徑不知道的話執行mysql --help | grep 'default options' -a 1,就會列出檔案的路徑來

修改配置檔案,vi /etc/my.cnf,找到logbin的部分

路徑因為測試環境沒法掛盤,隨便寫了個路徑,下面新建我們上面指定的資料夾mkdir -p /home/logs,然後重啟mysql的時候報錯了,經過一番折騰後,發現建的資料夾必須賦許可權,淚目。。。chown -r mysql.mysql /home/logs

然後重啟service mysql restart,去新建的目錄下看看,已經有最新的日誌了,我的截圖日誌比較多是因為我重啟過好幾次,每重啟一次生成一次新的。

到這裡更換路徑和自動清理的工作就完成了。

下面列幾個常用的命令

0、檢視日誌開啟狀態 show variables like 'log_%'; 

1、檢視所有binlog日誌列表 show master logs;

2、檢視最新乙個binlog日誌的編號名稱,及其最後乙個操作事件結束點 show master status;

3、重新整理log日誌,立刻產生乙個新編號的binlog日誌檔案,跟重啟乙個效果 flush logs;

4、清空所有binlog日誌 reset master;

5、日誌檢視,因為是二進位制檔案沒法用vi等開啟,可以用mysql的mysqlbinlog開啟,/usr/bin/mysqlbinlog /home/logs/mysql-bin.000001,當然每個人路徑可能不一樣,這個只能自己去找了。

mysql binlog日誌刪除

隨著mysql的執行,其binlog日誌會越來越多,占用的磁碟會越來越大。我們需要定期清理這些過期的binlog日誌。處理方法主要有兩種 1 自動刪除 2 手動刪除 1 自動刪除 a,修改my.cnf引數 需要更改其配置檔案my.cnf,新增引數expire logs days 10,單位是天。b,...

壓縮mysql binlog日誌

伺服器硬碟太貴了 mysql的binlog日誌增長太快了 需要定時壓縮一下 然後清除 清除步驟 建立清除shell vim bzbinlog.sh bin sh tar jcvpf date mysqlbinlogdir mysql bin.000108.tar.bz2 usr local mysq...

mysql binlog日誌刪除

今天發現磁碟被佔滿,檢查後是binlog日誌占用太多,所以刪除下 mysql的binlog日誌介紹 binlog是mysql以二進位制形式列印的日誌,它預設不加密,不壓縮。binlog二進位制日誌包含了所有更新了資料或者已經潛在更新了資料 例如,沒有匹配任何行的乙個delete 的所有語句。語句以 ...