返回顶部
首页 > 资讯 > 数据库 >mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用
  • 134
分享到

mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用

2024-04-02 19:04:59 134人浏览 独家记忆
摘要

这篇文章主要介绍了Mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让

这篇文章主要介绍了Mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

sync_binlog:

其值默认为0,范围为0~4294967295(mysql 5.6)
〇 为0时,即mysqld不去控制磁盘的同步,而是等待操作系统的fdatasync从内存flush到磁盘。(与操作系统同步)。在复制结构中,dump线程会在flush阶段进行binlog传输。
〇 最安全的设置为1,在开启了autocommit的情况下,如果mysqld或者os此时crash掉,会至多遗失一个事务。(同时也是最慢的设置)。在复制结构中,dump线程会在sync阶段进行binlog传输。
〇 当值为范围内其他值时,如100,即意味着mysql在写100次binlog时,再将缓存刷到磁盘。在复制结构中,dump线程会在flush阶段进行binlog传输。

将该值设置为稍大的情况下,可以提高tps,并且需要使用battery-backed cache防止异常断电。




innodb_flush_log_at_trx_commit:
(控制REDO log刷盘策略)
其默认值为1,其他可取值为0和2。
〇 当为1时,每个事务提交,将会使log buffer的内容写到log file中,同时将被flush到磁盘,这也是最安全的做法。可以完全遵从ACID。(the contents of the InnoDB log buffer are written out to the log file at each transaction commit and the log file is flushed to disk.)
〇 当为0时,每个事务提交,会写入mysqld自己的log buffer中,每隔1秒将log buffer的内容写到log file中,然后flush到磁盘。
〇 当为2时,每个事务提交,就会被写到log file(OS cache),但是log file每隔1秒才会被flush到磁盘,当操作系统crash或断电时,此时至多丢失1秒的事务。


0和2的区别是,
为0时,mysqld或操作系统crash则会导致1秒内的事务被丢失。
为2时,当操作系统crash或断电会导致1秒内的事务被丢失。

性能而言(由快至慢):
0>2>1
安全性而言(由好至差):
1>2>0
mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用
感谢你能够认真阅读完这篇文章,希望小编分享的“mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中sync_binlog和innodb_flush_log_at_trx_commit怎么用

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

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

猜你喜欢
  • 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和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中binlog和innodb_flush_log_at_trx_commit
    如何理解MySQL中binlog和innodb_flush_log_at_trx_commit ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希...
    99+
    2024-04-02
  • 怎么进行mysql的sync_binlog参数实验
    今天就跟大家聊聊有关怎么进行mysql的sync_binlog参数实验,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 m...
    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中grant和revoke怎么用
    这篇文章主要为大家展示了“MySQL中grant和revoke怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中grant和revoke怎么用”这...
    99+
    2024-04-02
  • mysql中join和on怎么用
    小编给大家分享一下mysql中join和on怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 用...
    99+
    2024-04-02
  • Mysql中@和@@符号怎么使用
    本篇内容主要讲解“Mysql中@和@@符号怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql中@和@@符号怎么使用”吧!一、概述@是用户变量,@@是系统变量。select...
    99+
    2023-06-30
  • mysql中offset和limit怎么使用
    在MySQL中,OFFSET和LIMIT用于分页查询数据,其中LIMIT用于指定返回记录的数量,OFFSET用于指定从第几条记录开始...
    99+
    2024-04-12
    mysql
  • mysql中distinct和count怎么使用
    在MySQL中,DISTINCT和COUNT是两个不同的功能,分别用于去除重复值和计算行的数量。 使用DISTINCT去除重复值:...
    99+
    2024-04-09
    mysql
  • mysql中timestamp和datetime怎么使用
    在MySQL中,timestamp和datetime都是用来存储日期和时间的数据类型,但它们在存储和使用上有一些区别。 datet...
    99+
    2024-04-17
    mysql
  • MySQL中insert和update怎么使用
    在MySQL中,INSERT语句用于向表中插入新的行,UPDATE语句用于更新表中已有行的数据。 INSERT语句示例: INS...
    99+
    2024-05-15
    mysql
  • mysql中RESET MASTER和RESET SLAVE怎么用
    这篇文章主要介绍mysql中RESET MASTER和RESET SLAVE怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!【一】RESET MASTER参数功能说明:删除所有的...
    99+
    2024-04-02
  • MySQL中error log和bin log怎么用
    这篇文章主要介绍MySQL中error log和bin log怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.Error log 記錄DB啟動,運行,停止時嚴重錯誤 可用...
    99+
    2024-04-02
  • MySQL中的if和case语句怎么用
    小编给大家分享一下MySQL中的if和case语句怎么用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式...
    99+
    2024-04-02
  • MySQL中怎么创建和管理用户
    本篇文章给大家分享的是有关MySQL中怎么创建和管理用户,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  MySQL管理员应该知道如何设置My...
    99+
    2024-04-02
  • MYSQL中怎么启用和查看日志
    这篇文章给大家介绍MYSQL中怎么启用和查看日志,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。利用mysqlbinlog.exe查看二进制日志[@more@]是否启用了日志mysql&...
    99+
    2024-04-02
  • MySql中的IFNULL、NULLIF和ISNULL怎么使用
    这篇文章主要介绍“MySql中的IFNULL、NULLIF和ISNULL怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySql中的IFNULL、NULLIF和ISNULL怎么使用”文章能帮...
    99+
    2023-07-05
  • mysql中update和select怎么结合使用
    在MySQL中,可以使用SELECT语句来检索要更新的数据,然后将结果用于UPDATE语句中更新表中的记录。 例如,假设我们...
    99+
    2024-04-09
    mysql
  • mysql求总和怎么用
    mysql求总和怎么用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysql求总和怎么用1.两个字段相加的求和 sel...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作