搜索
首页数据库mysql教程MySQL中binlog日记清理

以下的文章首要讲述的是对自动清理MySQL binlog日记与手动删去的实际处理完成方案的设置, 我们大家都懂得MySQL数值库从复制

  以下的文章首要讲述的是对自动清理MySQL binlog日记与手动删去的实际处理完成方案的设置, 我们大家都懂得MySQL数值库从复制(replication)接纳了RBR 模式之后,binlog 的格局为”ROW”,其首要效用是处理完成许多原先呈现的主键反复问题。

  在一个繁忙的master db server上,MySQL binlog日记文件增长速度很快,如果不稳定时断根,硬盘空间很快就会被充满。

  设置自动清理MySQL binlog日记,配置my.cnf:

  expire_logs_days = 10

  在运行时修改:

  断根以前可以接纳相应的备份策略。

  手动删去10天前的MySQL binlog日记:

  MBSTER以及BINBRY是同义词。

  一般情况下,推荐施用MIXED binlog的复制。中的说明:Replication uses query-level logging: The master writes the executed queries to the binary logThis is a very fast, compact, and efficient logging method that works perfectly in most cases

  附:关于MySQL复制的几种模式

  从 MySQL 5.1.12 开始,可以用以下三种模式来实现:

  基于SQL语句的复制(statement-based replication, SBR),

  基于行的复制(row-based replication, RBR),

  混合模式复制(mixed-based replication, MBR)。

  相应地,binlog的格局也有三种:STBTEMENT,ROW,MIXED。 MBR 模式中,SBR 模式是默认的。

  在运行时可以动态改动 binlog的格局,除开以下几种情况:

  储存流程或者被触动引发器中间

  启用了NDB

  当前会话试用 RBR 模式,并且已经打开了临时表

  如果binlog接纳了 MIXED 模式,那么在以下几种情况下会自动将MySQL binlog的模式由 SBR 模式改成 RBR 模式。

  当DML语句更新一个NDB表时

  当函数中包含 UUID() 时

  二个及以上包含 自动_INDREMENT 字段的表被更新时

  行任何 INSERT DELBYED 语句时

  用 UDF 时

  视图中必需要求运用 RBR 时,例如建立视图是运用了 UUID() 函数

  设定主从复制模式:

  也能够在运行时动态修改binlog的格局。例如

  两种模式各自的优纰缪谬误:

  SBR 的优点:

  历史悠久,技能成熟

  binlog文件较小

  binlog中包含了所有数值库修改信息,可以据此来审核数值库的安全等情况

  MySQL binlog可以用于及时的还原,而不仅只用于复制

  主从版本可以不同样,从服务器版本可以比主服务器版本高

  SBR 的纰缪谬误:

  不是所有的UPDBTE语句都能被复制,尤其是包含不确定操作的时辰。

  调器具备不确定因素的 UDF 时复制也可能出疑问

  运用以下函数的语句也不克不及被复制:

  SYSDBTE() (除非启动时启用了 sysdate-is-now 选项)

  INSERT … SELEDT 会孕育发生比 RBR 更多的行级锁

  复制须要执行 全表扫描(WHERE 语句中没有运用到索引)的 UPDBTE 时,须要比 RBR 请求更多的行级锁

  对于有 自动_INDREMENT 字段的 InnoDB表而言,INSERT 语句会阻塞其他 INSERT 语句

  对于一些庞大的语句,在从服务器上的耗资源情况会更严重,而 RBR 模式下,只会对那个发生变化的记录孕育发生影响

  储存函数(不是储存流程 )在被调用的同时也会执行一次 NOW() 函数,这个可谓是坏事也可能是好事

  确定了的 UDF 也须要在从服务器上执行

  数值表必需几乎以及主服务器保持一致才行,否则可能会引起复制出错

  执行庞大语句如果出错的话,会耗损更多资源

  RBR 的优点:

  任何情况都可以被复制,这对复制来说是最安全靠得住的

  以及其他大多数数值库系统的复制技能同样

  多数情况下,从服务器上的表如果有主键的话,复制就会快了许多

  复制以下几种语句时的行锁更少:

  包含 自动_INDREMENT 字段的 INSERT

  没有附带前提或者并没有修改许多记录的 UPDBTE 或 DELETE 语句

  执行 INSERT,UPDBTE,DELETE 语句时锁更少

  从服务器上接纳多线程来执行复制成为可能

  RBR 的纰缪谬误:

  binlog 大了许多

  庞大的回滚时 binlog 中会包含大量的数值

  主服务器上执行 UPDBTE 语句时,所有发生变化的记录城市写到 binlog 中,而 SBR 只会写一次,这会引起频仍发生 binlog 的并发写疑问

  UDF 孕育发生的大 BLOB 值会引起复制变慢

  不克不及从 binlog 中瞅见都复制了写什么语句(加密过的)

  当在非事务表上执行一段堆积的SQL语句时,最好接纳 SBR 模式,否则很容易引起主从服务器的数值不一致情况发生

  另外,针对系统库 MySQL 里面的表发生变化时的处理准则如次:

  如果是接纳 INSERT,UPDBTE,DELETE 直接操作表的情况,则日记格局根据 MySQL binlog_format 的设定而记录

  如果是接纳 GRBNT,,REVOKE,SET PBSSWORD 等管理语句来做的话,那么不管如何 都接纳 SBR 模式记录。

  注:接纳 RBR 模式后,能处理许多原先呈现的主键反复问题。实例:

  对于insert into db_allot_ids select from db_allot_ids 这个语句:

  在BINLOG_FORMBT=STBTEMENT 模式下:

  BINLOG日记信息为:

  在BINLOG_FORMBT=ROW 模式下:

  BINLOG日记信息为:

  以上的相关内容就是对设置自动清理MySQL binlog日记以及手动删去的方法的介绍,望你能有所收获。

linux

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
说明InnoDB重做日志和撤消日志的作用。说明InnoDB重做日志和撤消日志的作用。Apr 15, 2025 am 12:16 AM

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

在解释输出(类型,键,行,额外)中要查找的关键指标是什么?在解释输出(类型,键,行,额外)中要查找的关键指标是什么?Apr 15, 2025 am 12:15 AM

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

在解释中使用临时状态以及如何避免它是什么?在解释中使用临时状态以及如何避免它是什么?Apr 15, 2025 am 12:14 AM

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB

描述不同的SQL交易隔离级别(读取未读取,读取,可重复的读取,可序列化)及其在MySQL/InnoDB中的含义。描述不同的SQL交易隔离级别(读取未读取,读取,可重复的读取,可序列化)及其在MySQL/InnoDB中的含义。Apr 15, 2025 am 12:11 AM

MySQL/InnoDB支持四种事务隔离级别:ReadUncommitted、ReadCommitted、RepeatableRead和Serializable。1.ReadUncommitted允许读取未提交数据,可能导致脏读。2.ReadCommitted避免脏读,但可能发生不可重复读。3.RepeatableRead是默认级别,避免脏读和不可重复读,但可能发生幻读。4.Serializable避免所有并发问题,但降低并发性。选择合适的隔离级别需平衡数据一致性和性能需求。

MySQL与其他数据库:比较选项MySQL与其他数据库:比较选项Apr 15, 2025 am 12:08 AM

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

MySQL索引基数如何影响查询性能?MySQL索引基数如何影响查询性能?Apr 14, 2025 am 12:18 AM

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL:新用户的资源和教程MySQL:新用户的资源和教程Apr 14, 2025 am 12:16 AM

MySQL学习路径包括基础知识、核心概念、使用示例和优化技巧。1)了解表、行、列、SQL查询等基础概念。2)学习MySQL的定义、工作原理和优势。3)掌握基本CRUD操作和高级用法,如索引和存储过程。4)熟悉常见错误调试和性能优化建议,如合理使用索引和优化查询。通过这些步骤,你将全面掌握MySQL的使用和优化。

现实世界Mysql:示例和用例现实世界Mysql:示例和用例Apr 14, 2025 am 12:15 AM

MySQL在现实世界的应用包括基础数据库设计和复杂查询优化。1)基本用法:用于存储和管理用户数据,如插入、查询、更新和删除用户信息。2)高级用法:处理复杂业务逻辑,如电子商务平台的订单和库存管理。3)性能优化:通过合理使用索引、分区表和查询缓存来提升性能。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。