binlog日志,二进制日志的简介

2023-12-19

binlog的bin就暴露了他是二进制的文件,你用vi或者vim是没办法读的,得用专门的方式,比如mysqlbinlog工具。
那么binlog其实只要了解几点应该就足够了
Q:首先,binlog记录的是啥呢?
A:记录的是数据库的修改过程,注意只有真正对数据库有修改的比如增删改,才会记录。你查询不影响数据库的内容,我不会闲的没事记录你。是一种由server层记录的逻辑日志。
Q:woc哥,什么叫逻辑日志啊
A:逻辑日志可以理解为记录的是sql语句,类似于“给 ID=2 这一行的 c 字段加 1”,属于 MySQL Server 层;物理日志则是redolog的范畴了,记录内容是“在某个数据页上做了什么修改”,是数据页变更,因为数据最终是保存在数据页上的,属于 InnoDB 存储引擎层产生的。
二者侧重点不同:

  • redo log让InnoDB存储引擎拥有了崩溃恢复能力。
  • binlog保证了MySQL集群架构的数据一致性。

Q:好的,那binlog使用场景有哪些
A:最重要的就是主从复制和数据恢复。主从复制是在Master端开启binlog,然后将binlog发送到各个Slave端,Slave端重放binlog从而达到主从数据一致。数据恢复是通过使用mysqlbinlog工具来恢复数据。其实究其本质数据恢复感觉也是为了主从复制服务的。因为二进制日志可以通过数据库的全量备份和二进制日志中保存的 增量信息 ,完成数据库的无损失恢复 。 但是,如果遇到数据量大、数据库和数据表很多(比如分库分表的应用)的场景,用二进制日志进行数据恢复,是很有挑战性的,因为起止位置不容易管理。在这种情况下,一个有效的解决办法是配置主从数据库服务器 ,甚至是一主多从的架构,把二进制日志文件的内容通过中继日志,同步到从数据库服务器中,这样就可以有效避免数据库故障导致的数据异常等问题。 这玩意说白了就是分摊风险,你没备份,服务器寄了那你公司就废了
Q:那binlog有哪些格式呢?
A:STATMENT、ROW和MIXED三种

  • STATMENT:基于SQL语句的复制(statement-based replication, SBR),每一条会修改数据的SQL语句会记录到binlog中。优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,从而提高了性能;缺点:在某些情况下会导致主从数据不一致,比如执行sysdate()、slepp()等。
  • ROW:基于行的复制(row-based replication,RBR),不记录每条SQL语句的上下文信息,仅需记录哪条数据被修改了。优点:不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题;缺点:会产生大量的日志,尤其是alter table的时候会让日志暴涨。
  • MIXED:基于STATMENT和ROW两种模式的混合复制(mixed-based replication,MBR),一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog。

Q:binlog怎么刷盘的
A:设定参数sync_binlog来确定binlog刷盘时间,取值范围0-N,其实从下面介绍也能看出来sync_binlog最安全的是设置是1,这也是MySQL 5.7.7之后版本的默认值。但是设置一个大一些的值可以提升数据库性能,因此实际情况下也可以将值适当调大,牺牲一定的一致性来获取更好的性能。

  • 0:不去强制要求,由系统自行判断何时写入磁盘;
  • 1:每次commit的时候都要将binlog写入磁盘;
  • N:每N个事务,才会将binlog写入磁盘。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

binlog日志,二进制日志的简介 的相关文章

随机推荐

  • Web自动化测试流程:从入门到精通,帮你成为测试专家

    摘要 Web应用程序在今天的软件开发中占据着越来越重要的地位 保证Web应用程序的质量和稳定性是非常必要的 而自动化测试是一种有效的方法 本文将介绍Web自动化测试流程 并提供代码示例 步骤一 选取测试工具 选择适合自己团队的自动化测试工具
  • 基于ssm校园交友网站设计与实现(源码齐全可用)

    项目描述 临近学期结束 还是毕业设计 你还在做java程序网络编程 期末作业 老师的作业要求觉得大了吗 不知道毕业设计该怎么办 网页功能的数量是否太多 没有合适的类型或系统 等等 你想解决的问题 今天给大家介绍一篇基于ssm校园交友网站设计
  • 鸿蒙开发之页面路由(router)

    页面路由 router 页面路由指在应用程序中实现不同页面之间的跳转和数据传递 HarmonyOS提供了Router模块 通过不同的url地址 可以方便地进行页面路由 轻松地访问不同的页面 本文将从 页面跳转 页面返回 和 页面返回前增加一
  • 北京机器视觉技术的商业化应用与市场趋势分析

    随着科技的快速发展 机器视觉技术已经逐渐成为工业自动化 智能制造等领域的重要技术之一 北京作为中国的科技创新中心 其机器视觉技术的发展和应用也备受关注 本文将分析北京机器视觉技术的商业化应用以及市场趋势 一 商业化应用 工业自动化 机器视觉
  • 更新升级 | iTOP-RK3588开发板手册分类详解

    迅为iTOP RK3588开发板配套手册升级 因为开发资料众多 目前手册资料已达2700 页 为了方便大家更快速上手使用开发板 迅为iTOP RK3588开发板配套手册按功能性分为了13大类 如下所示 1快速定位 每个分类下包含了对应主题的
  • C++ STL(2)--算法(1)

    算法 1 STL里的查找函数 主要分顺序查找和二分查找 一 顺序查找9个 元素若是对象必须支持 运算符 1 find 用于在指定范围内查找和目标元素值相等的第一个元素 find 函数除了可以作用于序列式容器 还可以作用于普通数组 代码示例
  • 美创出席“智能计算产业链合作大会”,见证浙江省智能硬件创新能力中心启动

    近日 由浙江省经济和信息化厅 杭州市人民政府和之江实验室指导下 浙江省 十链百场万企 系列对接活动之 智能计算产业链合作大会 在杭州未来科技城国际会议中心举行 浙江省经信厅党组成员 副厅长 一级巡视员厉敏 杭州市政府党组成员 副市长孙旭东
  • 年前去面了 6 家大厂,拿下 5 家 offer,进大厂好像也没有那么难吧......

    前言 十一月份的时候因为换工作的缘故 陆续参加了华为 阿里巴巴 字节跳动 拼多多 百度 Paypal 的社招面试 除了字节跳动流程较长 我主动结束面试以外 其他的都顺利拿到了 Offer 最近时间稍微宽裕点了 写个面经 希望对大家找工作有所
  • AI原创文章在线生成工具:颠覆你的写作体验

    1 引言 身为热爱数码科技的爱好者 我始终对人工智能技术有着浓厚兴趣 近日 我偶然得知有一款名为 AI原创文章在线生成工具 的实用神器 据称能够自动生成各类主题的文章 为确认它的实证性及可信度 我亲身进行了一次细致的测评与比较 2 实用性评
  • fedora 38 39 内核编译与安装

    sudo yum install kernel devel ncurses devel openssl 缺包裹自己按上就可以 首先编译内核 make menuconfig 配置界面 在 config 里找到 CONFIG DEBUG INF
  • fedora 通过sysctl.conf配置内核

    linux 一切皆文件 所以配置内核的地方也是文件 需要配置的目录 proc sys 修改文件的地方在 etc sysctl conf 例如 我们配置网络 让icmp包裹停止接收 net ipv4 icmp echo ignore all
  • 充电器如何测试?有哪些测试参数?用电源模块自动化测试系统测试需要哪些步骤?

    充电器测试参数 1 输入 输出电压测试 通过万用表或者其它精密测试设备测量充电器的输入 输出电压测试 检测输入 输出电压是否在规定范围内 以免造成设备损坏 2 输入 输出电流测试 测试充电器的输入 输出电流 确保其符合设计要求 提供稳定的输
  • AMBA协议王者归来:揭秘AHB&APB设计奥秘

    AMBA协议已经成为业界的事实标准 因此在市场上有大量可重用的AMBA兼容IP核 IC工程师掌握这些总线 可以更容易地集成来自不同供应商的IP核 降低开发成本 缩短产品上市时间 AMBA 高级微处理器总线架构 定义了高性能嵌入式微控制器的通
  • Todesk突然高速通道使用已结束

    今天使用Todesk直接报出如下错误 好像对于海外用户需要付费购买海外会员 大家有没有什么可以替换的远程控制软件的吗 能分享一下吗
  • 怎么检测DC-DC电源模块稳定性?电源测试系统测试有什么优势?

    DC DC电源模块稳定性测试 稳定性是衡量DC电源模块的重要指标 电源模块的稳定性直接影响着电源产品和设备的工作稳定性 DC DC电源模块的稳定性 可以通过检测输出电压 输出电流 负载 波形 效率等参数来评估 1 静态测试方法 静态测试是通
  • 搭建电子商务网站建设步骤

    随着目前电子商务网站开发技术的迭代 电商网站的交互设计得到了很大程度的提升 可以认为现在的新型的商城平台都呈现出交互效果 那么电子商务网站建设步骤包括什么呢 电子商务网站建设第一步 网站的规划与设计 电子商务网站算是一个比较复杂的系统 电商
  • 如何在Linux系统中删除文件或目录?

    Linux作为流行的操作系统之一 许多公司和组织都在使用Linux来运行其关键业务和服务 例如谷歌 亚马逊和Facebook等 在Linux中 删除文件和目录是基本操作 那么该如何实现这一功能呢 以下是详细的内容 一 使用命令行删除文件 如
  • 渗透测试报告怎么写?

    1 准备好渗透测试记录 测试记录是执行过程的日志 在每日测试工作结束后 应将当日的成果做成记录 虽然内容不必太过细致 但测试的重点必须记录在案 拟检测的项目 使用的工具或方法 检测过程描述 检测结果说明 过程的重点截图 有结果的画面 2 撰
  • 什么是深度学习的无监督学习与有监督学习

    无监督学习 深度学习中的无监督学习方法是一种训练算法 它在没有标注输出的情况下从输入数据中学习模式和特征 这种方法的核心是探索和理解数据的内在结构和分布 而不是通过已知的输出来指导学习过程 无监督学习在深度学习领域有许多不同的形式和应用 以
  • binlog日志,二进制日志的简介

    binlog的bin就暴露了他是二进制的文件 你用vi或者vim是没办法读的 得用专门的方式 比如mysqlbinlog工具 那么binlog其实只要了解几点应该就足够了 Q 首先 binlog记录的是啥呢 A 记录的是数据库的修改过程 注