MySQL 自動(dòng)清理binlog日志的方法
2016-11-17 17:22:14
22582
MySQL 自動(dòng)清理binlog日志的方法
這篇文章主要介紹了MySQL 自動(dòng)清理binlog日志的方法,需要的朋友可以參考下
說明:
開啟MySQL binlog日志的服務(wù)器,如果不設(shè)置自動(dòng)清理日志,默認(rèn)binlog日志一直保留著,時(shí)間一長,服務(wù)器磁盤空間被binlog日志占滿,導(dǎo)致MySQL數(shù)據(jù)庫出錯(cuò)。
使用下面方法可以安全清理binlog日志
一、沒有主從同步的情況下清理日志
mysql -uroot -p123456 -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 5 DAY)';
#mysql 定時(shí)清理5天前的binlog
mysql -u root -p #進(jìn)入mysql 控制臺
reset master; #重置binlog
二、MySQL主從同步?安全清理binlog日志
1、mysql -u root -p #進(jìn)入從服務(wù)器mysql控制臺
show slave statusG; #檢查從服務(wù)器正在讀取哪個(gè)日志,有多個(gè)從服務(wù)器,選擇時(shí)間最早的一個(gè)做為目標(biāo)日志。
2、進(jìn)入主服務(wù)器mysql控制臺
show master log; #獲得主服務(wù)器上的一系列日志
PURGE MASTER LOGS TO 'binlog.000058'; #刪除binlog.000005之前的,不包括binlog.000058
PURGE MASTER LOGS BEFORE '2016-06-22 13:00:00'; #清除2016-06-22 13:00:00前binlog日志
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); #清除3天前binlog日志
三、設(shè)置自動(dòng)清理MySQL binlog日志
vi /etc/my.cnf #編輯配置
1 2 3 | expire_logs_days = 15 #自動(dòng)刪除15天前的日志。默認(rèn)值為0?表示從不刪除。
log-bin=mysql-bin #注釋掉之后,會(huì)關(guān)閉binlog日志
binlog_format=mixed #注釋掉之后,會(huì)關(guān)閉binlog日志
|
:wq! #保存退出