1.首先確認(rèn)你日志是否啟用了
MySQL>show variables like 'log_bin';
如果啟用了,即ON那日志文件就在MySQL的安裝目錄的data目錄下
2.怎樣知道當(dāng)前的日志
MySQL> show master status;
3.看二進(jìn)制日志文件用MySQLbinlog
shell>MySQLbinlog mail-bin.000001
或者
shell>MySQLbinlog mail-bin.000001 | tail
4.正確刪除MySQL BIN-LOG 日志實(shí)操
在mysql中會(huì)生大量的如mysq-bin.000001這類日志文件了,這些都是二進(jìn)制文件了,如果我們是普通的日志沒(méi)有進(jìn)行主從配置就可以直接使用reset master進(jìn)行刪除了這個(gè)方法很簡(jiǎn)單,
如果沒(méi)有主從復(fù)制,可以通過(guò)reset master的方式,重置數(shù)據(jù)庫(kù)日志,清除之前的日志文件:
mysql> reset master;
還有一各就是在my.cnf里配置。
expire_logs_days = 3
二進(jìn)制日志自動(dòng)刪除的天數(shù)。這里設(shè)置了自動(dòng)清除3天前的logs。
默認(rèn)值為0,表示“沒(méi)有自動(dòng)刪除”。
例
# 按文件:刪除mysql-bin.000354之前的日志,不包含mysql-bin.000354MYSQL>purge binary logs to 'mysql-bin.000354';Query OK, 0 rows affected (0.16 sec)# 按時(shí)間:刪除2011-11-10 00:00:00 之前的日志MYSQL>purge binary logs before '2011-11-10 00:00:00';# 按時(shí)間:請(qǐng)理三天之前的日志MYSQL> purge master logs before date_sub(now(), interval 3 day);自動(dòng)清理日志 :# 修改my.cnf文件配置bin-log過(guò)期時(shí)間expire-logs-days=7max-binlog-size=268435456
如果你是主從mysql日志文件請(qǐng)參考下面方法
//刪除日志之前,先檢查主從服務(wù)器當(dāng)前使用的日志文件,//首先登錄 要?jiǎng)h除日志的服務(wù)器的 mysql 終端#mysql -u root -pxxxxx//檢查復(fù)制主服務(wù)器狀態(tài)Mysql>show master status+------------------+-----------+--------------+----------------------------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+-----------+--------------+----------------------------------------+| mysql-bin.000097 | 541677824 | www | test,mysql,information_schema |+------------------+-----------+--------------+----------------------------------------+//復(fù)制主服務(wù)器當(dāng)前正在使用的日志文件是:mysql-bin.000097//檢查復(fù)制從服務(wù)器狀態(tài)Mysql>show slave statusG //復(fù)制從服務(wù)器當(dāng)前正在使用的復(fù)制主服務(wù)器日志文件是:mysql-bin.000103 //當(dāng)前正在使用的日志文件是000097,我需要做的是刪除00095號(hào)之前的所有日志(預(yù)留出最近幾天的日志)Mysql>purge master logs to ‘mysql-bin.000095; #ll /usr/local/mysql/var///從結(jié)果中發(fā)現(xiàn),編號(hào)000097之前的所有日志都已經(jīng)刪除
新聞熱點(diǎn)
疑難解答
圖片精選