阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL binlog日志三种模式选择及配置

455次阅读
没有评论

共计 1718 个字符,预计需要花费 5 分钟才能阅读完成。

在认识 binlog 日志三种模式前,先了解一下解析 binlog 日志的命令工 MySQLbinlog。mysqlbinlog 工具的作用是解析 mysql 的二进制 binlog 日志内容,把二进制日志解析成可以在 MySQL 数据库里执行的 SQL 语句。binlog 日志原始数据是以二进制形式存在的,需要使用 mysqlbinlog 工具转换成 SQL 语句形式。

mysql 的 binlog 日志作用是用来记录 mysql 内部增删改等对 mysql 数据库有更新内容的记录(对数据库进行改动的操作),对数据库查询的语句如 show,select 开头的语句,不会被 binlog 日志记录,主要用于数据库的主从复制与及增量恢复。

案例:

在对数据库进行定时备份时,只能备份到某个时间点,假如在凌晨 0 点进行全备了,但是在中午 12 点出现故障需要恢复数据,使用 0 点的全备只能恢复到 0 点时刻的数据,难道 0 点到 12 点的数据只能丢失了吗?

这时就是体现 binlog 日志重要性的时候了,需要对 binlog 日志进行定时推送(一分钟一次或五分钟一次,时间频率视业务场景而定)完成增量备份。当出现故障时,可以使用定时备份和增量备份恢复到故障点时刻的数据。具体的恢复方案,这里不做简述,后面再写文章来讲解。

binlog 日志三种模式

ROW Level

记录的方式是行,即如果批量修改数据,记录的不是批量修改的 SQL 语句事件,而是每条记录被更改的 SQL 语句,因此,ROW 模式的 binlog 日志文件会变得很“重”。

MySQL binlog 日志三种模式选择及配置

优点:row level 的 binlog 日志内容会非常清楚的记录下每一行数据被修改的细节。而且不会出现某些特定情况下存储过程或 function,以及 trigger 的调用和触发器无法被正确复制的问题。

缺点:row level 下,所有执行的语句当记录到日志中的时候,都以每行记录的修改来记录,这样可能会产生大量的日志内容,产生的 binlog 日志量是惊人的。批量修改几百万条数据,那么记录几百万行……

Statement level(默认)

记录每一条修改数据的 SQL 语句(批量修改时,记录的不是单条 SQL 语句,而是批量修改的 SQL 语句事件)。看上面的图解可以很好的理解 row level 和 statement level 两种模式的区别。

优点:statement 模式记录的更改的 SQ 语句事件,并非每条更改记录,所以大大减少了 binlog 日志量,节约磁盘 IO,提高性能。

缺点:statement level 下对一些特殊功能的复制效果不是很好,比如:函数、存储过程的复制。由于 row level 是基于每一行的变化来记录的,所以不会出现类似问题

Mixed

实际上就是前两种模式的结合。在 Mixed 模式下,MySQL 会根据执行的每一条具体的 sql 语句来区分对待记录的日志形式,也就是在 Statement 和 Row 之间选择一种。

企业场景如何选择 binlog 的模式
1、如果生产中使用 MySQL 的特殊功能相对少(存储过程、触发器、函数)。选择默认的语句模式,Statement Level。
2、如果生产中使用 MySQL 的特殊功能较多的,可以选择 Mixed 模式。
3、如果生产中使用 MySQL 的特殊功能较多,又希望数据最大化一致,此时最好 Row level 模式;但是要注意,该模式的 binlog 非常“沉重”。

查看 binlog 模式

mysql> show global variables like “%binlog_format%”;
+—————+———–+
| Variable_name | Value    |
+—————+———–+
| binlog_format | STATEMENT |
+—————+———–+

配置 binlog 日志模式

vim my.cnf(在 [mysqld] 模块中配置)
log-bin = /data/3306/mysql-bin
binlog_format=”STATEMENT”
#binlog_format=”ROW”
#binlog_format=”MIXED”

不重启,使配置在 msyql 中生效

SET global binlog_format=’STATEMENT’;

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1718字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7805093
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...