亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql binlog日志文件過大的解決

 更新時間:2021年09月28日 15:48:05   作者:say8129  
本文主要介紹了Mysql binlog日志文件過大的解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

命令

ls -l -h

在這里插入圖片描述

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

可以通過設置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,看到只保留了前三天的日志

在這里插入圖片描述

2、binlog相關高級設置

2.1 改變binlog模式

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

STATMENT模式

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

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

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

ROW模式

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

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

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

MIXED模式

混合模式復制(mixed-based replication, MBR):以上兩種模式的混合使用,一般的復制使用STATEMENT模式保存binlog,對于STATEMENT模式無法復制的操作使用ROW模式保存binlog,MySQL會根據執(zhí)行的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日志文件過大的解決的文章就介紹到這了,更多相關Mysql binlog日志過大內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL5.7慢查詢日志時間與系統(tǒng)時間差8小時原因詳解

    MySQL5.7慢查詢日志時間與系統(tǒng)時間差8小時原因詳解

    這篇文章主要介紹了MySQL5.7慢查詢日志時間與系統(tǒng)時間差8小時原因詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • mysql mysqldump數據備份和增量備份

    mysql mysqldump數據備份和增量備份

    本篇文章主要講如何使用shell實現mysql全量,增量備份,還可以按時間備份。
    2013-10-10
  • DBeaver如何將mysql表結構以表格形式導出

    DBeaver如何將mysql表結構以表格形式導出

    DBeaver是一款多功能數據庫工具,支持包括MySQL在內的多種數據庫,本文介紹如何使用DBeaver將MySQL的表結構以表格形式導出,為數據庫管理和文檔整理提供便利,這種方法簡潔有效,適合需要文檔化數據庫結構的開發(fā)者和數據庫管理員
    2024-10-10
  • mysql中insert語句的5種用法簡單示例

    mysql中insert語句的5種用法簡單示例

    這篇文章主要給大家介紹了關于mysql中insert語句的5種用法的相關資料,insert into是mysql中最常用的插入語句,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • MySQL8中的存儲引擎以及文件解析

    MySQL8中的存儲引擎以及文件解析

    這篇文章主要介紹了MySQL8中的存儲引擎以及文件使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • MySQL查看視圖的三種方法

    MySQL查看視圖的三種方法

    本文主要介紹了MySQL查看視圖的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-09-09
  • mysql 8.0.12 安裝使用教程

    mysql 8.0.12 安裝使用教程

    這篇文章主要為大家詳細介紹了mysql 8.0.12 安裝使用教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Linux下mysql異地自動備份的方法

    Linux下mysql異地自動備份的方法

    這篇文章主要介紹了Linux下mysql異地自動備份的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 阿里云ECS centos6.8下安裝配置MySql5.7的教程

    阿里云ECS centos6.8下安裝配置MySql5.7的教程

    阿里云默認yum命令下的MySQL是5.17****,安裝mysql5.7之前先卸載以前的版本。下面通過本文給大家介紹阿里云ECS centos6.8下安裝配置MySql5.7的教程,需要的的朋友參考下吧
    2017-07-07
  • MySQL中的聯(lián)合索引學習教程

    MySQL中的聯(lián)合索引學習教程

    這篇文章主要介紹了MySQL中的聯(lián)合索引學習教程,其中談到了聯(lián)合索引對排序的優(yōu)化等知識點,需要的朋友可以參考下
    2015-11-11

最新評論