中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql中binlog日志文件過大怎么辦

發布時間:2021-09-28 17:45:37 來源:億速云 閱讀:344 作者:小新 欄目:開發技術

這篇文章主要介紹了Mysql中binlog日志文件過大怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

磁盤突然報錯使用率過大,排查原因,發現mysql的binlog文件占用過大

命令

ls -l -h

Mysql中binlog日志文件過大怎么辦

mysql-binlog是MySQL數據庫的二進制日志,用于記錄用戶對數據庫操作的SQL語句((除了數據查詢語句)信息。可以使用mysqlbin命令查看二進制日志的內容。

可以通過設置my.cof配置文件的方式限制binlog文件的輸出。

1、相關binlog配置

vim /etc/my.cof

[mysqld]
expire_logs_days = 3
#設置binlog清理時間

max_binlog_size = 100m
#binlog每個日志文件大小

binlog_cache_size = 4m
#binlog緩存大小

max_binlog_cache_size = 512m
#最大binlog緩存大小

重啟mysql,看到只保留了前三天的日志

Mysql中binlog日志文件過大怎么辦

2、binlog相關高級設置

2.1 改變binlog模式

binlog的模式也有三種:STATEMENT、ROW、MIXED 。下面對這三種格式分別加以說明:

STATMENT模式

基于SQL語句的復制(statement-based replication, SBR),每一條會修改數據的sql語句會記錄到binlog中。

優點:不需要記錄每一條SQL語句與每行的數據變化,這樣子binlog的日志也會比較少,減少了磁盤IO,提高性能。

缺點:在某些情況下會導致master-slave中的數據不一致(如sleep()函數, last_insert_id(),以及user-defined functions(udf)等會出現問題)

ROW模式

不記錄每一條SQL語句的上下文信息,僅需記錄哪條數據被修改了,修改成了什么樣子了。

優點:不會出現某些特定情況下的存儲過程、或function、或trigger的調用和觸發無法被正確復制的問題。

缺點:會產生大量的日志,尤其是alter table的時候會讓日志暴漲。

MIXED模式

混合模式復制(mixed-based replication, MBR):以上兩種模式的混合使用,一般的復制使用STATEMENT模式保存binlog,對于STATEMENT模式無法復制的操作使用ROW模式保存binlog,MySQL會根據執行的SQL語句選擇日志保存方式。
修改配置文件

[mysqld]
binlog_format = mixed
#設置日志格式

2.2 相關SQL操作binlog

show binary logs;                            
# 查看binlog現有詳情

show variables like '%log%';            
# 查看log變量的相關配置

set global expire_logs_days = 3;    
# 設置binlog的保存時間

reset master;                                 
# 重置所有的binlog,相當于刪除所有的binlog,這個操作對主從集群影響非常大,因為主從賦值是基于binlog日志來實現的

PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
# 刪除指定的日志或日期之前的日志索引中的所有二進制日志。MASTER和BINARY是同義詞

PURGE MASTER LOGS TO 'binlog.000013'; 
#清除binlog.000013日志

PURGE MASTER LOGS BEFORE '2020-01-08 10:00:00';  
#清除2020-01-08 10:00:00前binlog日志

PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); 
# 清除3天前binlog日志BEFORE,變量的date自變量可以為'YYYY-MM-DD hh:mm:ss'格式。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Mysql中binlog日志文件過大怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿勒泰市| 嵊州市| 淮阳县| 太和县| 无锡市| 原平市| 台东县| 海南省| 北宁市| 内黄县| 明水县| 山阳县| 龙井市| 河间市| 玉环县| 岳阳市| 金沙县| 抚顺市| 东兰县| 中卫市| 阳城县| 新绛县| 西乌珠穆沁旗| 大悟县| 景德镇市| 东方市| 泸州市| 铜鼓县| 汝城县| 榆社县| 泸西县| 高唐县| 乌什县| 竹溪县| 泾川县| 塔河县| 江津市| 石柱| 海门市| 昂仁县| 普兰店市|