如何清理MySQL中的binlog問題
清理MySQL中的binlog
Mysql的binlog開啟后一直沒清理,占用太大空間
1.查看binlog過期時(shí)間
show variables like 'expire_logs_days';

expire_logs_days=0:
- 這里的值如果為0,表示所有binlog日志永久都不會(huì)失效,不會(huì)自動(dòng)刪除;
- 這里的值如果為30,表示只保留最近30天。
2. 修改binlog過期時(shí)間
永久生效(重啟后即生效)
修改配置文件my.cnf文件: vim /etc/my.cnf
在[mysqld]標(biāo)簽內(nèi)增加如下內(nèi)容
expire_logs_days=30 max_binlog_size=1024M
修改保存后,以下3種情況才生效
- 1)當(dāng)binlog大小超過max_binlog_size
- 2)手動(dòng)執(zhí)行flush logs
- 3)重新啟動(dòng)
為了使之生效,需要執(zhí)行flush logs。
mysql> flush logs; Query OK, 0 rows affected, 64 warnings (0.16 sec
3.手工清除歷史binlog
如果binlog非常多,推薦使用purge命令予清除歷史文件:

比如將mysql-bin.009560之前的binlog清掉:
mysql>purge binary logs to 'mysql-bin.009560';
或者指定時(shí)間之前的binlog清掉:
mysql>purge binary logs before '2022-01-01 23:59:59';
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql中l(wèi)imit查詢踩坑實(shí)戰(zhàn)記錄
在MySQL中我們常常用order by來進(jìn)行排序,使用limit來進(jìn)行分頁,下面這篇文章主要給大家介紹了關(guān)于mysql中l(wèi)imit查詢踩坑的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
mysql中l(wèi)imit用法詳解及注意事項(xiàng)總結(jié)
mysql數(shù)據(jù)庫中l(wèi)imit子句可以被用于強(qiáng)制select語句返回指定的記錄數(shù),這篇文章主要介紹了mysql中l(wèi)imit用法詳解及注意事項(xiàng)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-01-01
MySQL COUNT用法終極指南:(*)/(1)/(列名)哪個(gè)更高效
在日常開發(fā)中,幾乎每個(gè)程序員都用過COUNT()函數(shù),那么COUNT(*)、COUNT(1)、COUNT(column)有什么區(qū)別,哪個(gè)更快,下面小編就來和大家簡單講講吧2025-08-08
如何更改Linux(CentOS)系統(tǒng)下的MySQL數(shù)據(jù)庫目錄位置
由于MySQL的數(shù)據(jù)庫太大,默認(rèn)安裝的/var盤已經(jīng)再也無法容納新增加的數(shù)據(jù), 沒有辦法,只能想辦法轉(zhuǎn)移數(shù)據(jù)的目錄。 簡單整理一下這幾天把MySQL從/var/lib/mysql目錄下面轉(zhuǎn)移到/home/mysql_data/mysql下面具體操作2020-01-01

