返回顶部
首页 > 资讯 > 数据库 >如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog
  • 103
分享到

如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog

MySQLinnodb_flush_log_at_trx_commitmysqlsync_binlog 2022-05-23 18:05:28 103人浏览 泡泡鱼
摘要

innodb_flush_log_at_trx_commit和sync_binlog  两个参数是控制Mysql磁盘写入策略以及数据安全性的关键参数。 show variables like "innodb

innodb_flush_log_at_trx_commit和sync_binlog  两个参数是控制Mysql磁盘写入策略以及数据安全性的关键参数。

show variables like "innodb_flush_log_at_trx_commit";

innodb_flush_log_at_trx_commit:

0: 由mysql的main_thread每秒将存储引擎log buffer中的redo日志写入到log file,并调用文件系统的sync操作,将日志刷新到磁盘。

每次事务提交时,将存储引擎log buffer中的redo日志写入到log file,并调用文件系统的sync操作,将日志刷新到磁盘。

每次事务提交时,将存储引擎log buffer中的redo日志写入到log file,并由存储引擎的main_thread 每秒将日志刷新到磁盘。

show variables like "sync_binlog";

sync_binlog:

0 :存储引擎不进行binlog的刷新到磁盘,而由操作系统的文件系统控制缓存刷新。

每提交一次事务,存储引擎调用文件系统的sync操作进行一次缓存的刷新,这种方式最安全,但性能较低。

n:当提交的日志组=n时,存储引擎调用文件系统的sync操作进行一次缓存的刷新。

sync_binlog=0或sync_binlog大于1,事务被提交,而尚未同步到磁盘。因此,在电源故障或操作系统崩溃时有可能服务器已承诺尚未同步一些事务到二进制日志。因此它是不可能执行例行程序恢复这些事务,他们将会丢失二进制日志。

innodb_flush_log_at_trx_commit和sync_binlog 都为 1 时是最安全的,在mysqld 服务崩溃或者服务器主机crash的情况下,binary log 只有可能丢失最多一个语句或者一个事务。但是鱼与熊掌不可兼得,双1,1 会导致频繁的io操作,因此该模式也是最慢的一种方式。

实际使用时,要考虑业务方对性能和安全性的需求,综合考量设置,两个参数。上图中是我们线上机器的参数。

以上就是如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog的详细内容,更多关于MySQL的innodb_flush_log_at_trx_commit和sync_binlog的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: 如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog

本文链接: https://lsjlt.com/news/10125.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog
    innodb_flush_log_at_trx_commit和sync_binlog  两个参数是控制MySQL磁盘写入策略以及数据安全性的关键参数。 show variables like "innodb...
    99+
    2022-05-23
    MySQL innodb_flush_log_at_trx_commit mysql sync_binlog
  • mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用
    这篇文章主要介绍了mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让...
    99+
    2024-04-02
  • 如何进行mysql的innodb_flush_log_at_trx_commit参数分析
    这期内容当中小编将会给大家带来有关如何进行mysql的innodb_flush_log_at_trx_commit参数分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 ...
    99+
    2024-04-02
  • 如何理解MySQL中binlog和innodb_flush_log_at_trx_commit
    如何理解MySQL中binlog和innodb_flush_log_at_trx_commit ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希...
    99+
    2024-04-02
  • mysql中innodb_flush_log_at_trx_commit参数的示例分析
    这篇文章主要介绍mysql中innodb_flush_log_at_trx_commit参数的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、参数解释0:log buffe...
    99+
    2024-04-02
  • MySQL 5.7中sync_binlog参数和半同步中after_commit和after_sync的区别有哪些
    这篇文章给大家分享的是有关MySQL 5.7中sync_binlog参数和半同步中after_commit和after_sync的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来...
    99+
    2024-04-02
  • 如何在MySQL中实现分表和分区
    如何在MySQL中实现分表和分区?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。垂直分表垂直分表就是一个包含有很多列的表拆分成多...
    99+
    2024-04-02
  • MySQL的分表和分区介绍
        在日常开发或维护中经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果...
    99+
    2024-04-02
  • 我们如何区分 MySQL CROSS JOIN 和 INNER JOIN?
    我们只能根据连接谓词(即指定的条件)来区分 MySQL CROSS JOIN 和 INNER JOIN。在编写 INNER JOIN 查询时,我们需要指定条件,但相反,在编写 CROSS JOIN 查询时,我们不需要指定条件。为了理解它,我...
    99+
    2023-10-22
  • MySQL分区如何迁移
    | 背景 需求来源 MySQL越来越流行,而且存储在MySQL的数据量也越来越大,单表数据达亿行已经是非常常见的现象,而这些表里面保存了大量的历史记录,严重影响SQL执行的效...
    99+
    2024-04-02
  • mysql如何建立分区
    这篇文章给大家分享的是有关mysql如何建立分区的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。#list分区--键值通过自定义的list来确定写入到哪个分区中。优势:支持int,...
    99+
    2024-04-02
  • mysql如何删除分区
    这篇文章主要介绍了mysql如何删除分区的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql如何删除分区文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • MySQL:分库分表与分区的区别和思考
    一.分分合合 说过很多次,不要拘泥于某一个技术的一点,技术是相通的。重要的是编程思想,思想是最重要的。当数据量大的时候,需要具有分的思想去细化粒度。当数据量太碎片的时候,需要具有合的思想来粗化粒度。 1.1 分 很多技术都运用了分...
    99+
    2017-07-09
    MySQL:分库分表与分区的区别和思考
  • 如何区分mysql多字段
    下面一起来了解下如何区分mysql多字段,相信大家看完肯定会受益匪浅,文字在精不在多,希望如何区分mysql多字段这篇短内容是你想要的。分区是根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分...
    99+
    2024-04-02
  • 如何使用MySQL分区表
    这篇文章给大家介绍如何使用MySQL分区表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲...
    99+
    2024-04-02
  • mysql如何创建分区表
    MySQL可以通过以下步骤来创建分区表:1. 创建一个普通的表,定义它的列和其他属性。2. 使用`ALTER TABLE`语句来添加...
    99+
    2023-10-12
    mysql
  • 如何分析bootstrap和vue的区别
    今天就跟大家聊聊有关如何分析bootstrap和vue的区别,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。区别:1、Bootstrap是基于HTML...
    99+
    2024-04-02
  • hive如何实现分区和分桶
    这篇文章主要介绍hive如何实现分区和分桶,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、Hive分区表在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表...
    99+
    2023-06-19
  • MySql中的分表、分库、分片和分区的分析
    本篇内容介绍了“MySql中的分表、分库、分片和分区的分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!&...
    99+
    2024-04-02
  • MySQL中如何实现区分大小写的唯一性和不区分大小写的搜索?
    借助以下两种方式,您可以实现区分大小写的唯一性和不区分大小写的搜索 -VARBINARY 数据类型_bin 排序规则VARBINARY 数据类型要使用 VARBINARY 数据类型,我们首先创建一个表。创建表的查询如下 -mysql>...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作