专栏首页MySQL参数系列mysql参数的"双1"设置

mysql参数的"双1"设置

"双1"参数是很重要的mysql数据库的2个参数。顾名思义,就是一般线上设置这两个参数都为1。这里从官方文档截取这两参数的说明。

简单解释一下:

sync_binlog=0 未开启mysql实例的binlog到磁盘的同步(binlog刷盘)。binlog的刷盘依赖与文件系统。

sync_binlog=1 在事务提交前将binlog刷到磁盘。这样设置比较安全,但是随着磁盘写的增加对性能有负面影响。

sync_binlog=N N不能是0或者1,收集到 N 个binlog提交组后,将binlog刷到磁盘。如果发生电源故障或操作系统崩溃,服务器可能提交了尚未刷新到binlog的事务。较高的值可提高性能,但会增加数据丢失的风险。

完全符合 ACID 需要默认设置 1。日志在每次事务提交时写入并刷新到磁盘。

设置为 0 时,每秒将日志写入并刷新到磁盘一次。未刷新日志的事务可能会在崩溃中丢失。

设置为 2 时,日志在每次事务提交后写入,并每秒刷新到磁盘一次。未刷新日志的事务可能会在崩溃中丢失。

对于设置 0 和 2,每秒刷新一次不能 100% 保证。由于 DDL 更改和其他内部 InnoDB 活动导致日志独立于 innodb_flush_log_at_trx_commit 设置刷新,刷新可能会更频繁地发生,有时由于调度问题而不太频繁。如果每秒刷新一次日志,则崩溃中可能会丢失多达一秒的事务。如果日志刷新频率高于或低于每秒一次,则可能丢失的事务量会相应地变化。

日志刷新频率由 innodb_flush_log_at_timeout 控制,它允许将日志刷新频率设置为 N 秒(其中 N 为 1 ... 2700,默认值为 1)。但是,任何 mysqld 进程崩溃都可以擦除最多 N 秒的事务。

DDL 更改和其他内部 InnoDB 活动独立于 innodb_flush_log_at_trx_commit 设置刷新日志。

无论 innodb_flush_log_at_trx_commit 设置如何,InnoDB 崩溃恢复都有效。交易要么完全应用,要么完全擦除。

本文分享自微信公众号 - DBA札记(dba_jason),作者:小董学编程

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql参数的"双1"设置

    "双1"参数是很重要的mysql数据库的2个参数。顾名思义,就是一般线上设置这两个参数都为1。这里从官方文档截取这两参数的说明。

    CorollaD
  • mysql的"双1设置"-数据安全的关键参数(案例分享)

    mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写...

    洗尽了浮华
  • 2020-10-15:mysql的双1设置是什么?

    其实就是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,都设置为1就是双1设置。MySQL 默认配置就是双1配...

    福大大架构师每日一题
  • MySQL 服务器参数设置

    Parker
  • 设置Mysql的连接超时参数wait_timeout、interactive_timeout

    最近处理一个web服务时,写数据库数据时,经常报“MySQL server has gone away”,一查发现是mysql的wait_timeout、int...

    zhangdd
  • Vertica参数的设置

    1.keep more event logs for dc_tuple_mover_events.

    Alfred Zhao
  • mysql参数max_binlog_cache_size设置不当引发的血案

    日常运维中的坑真是防不胜防,不一小心就遇到别人给你挖的坑。最近又遇到经验不足的DBA不知道从哪拷贝的配置文件(据说是当时参加某培训机构视频培训时资料里的模板,真...

    July
  • MySQL-DB参数、内存、I/O、安全等相关参数设置

    http://www.searchdoc.cn/rdbms/mysql/dev.mysql.com/doc/refman/5.7/en/index.com.co...

    小小工匠
  • MYSQL数据导出与导入,secure_file_priv参数设置

    MySQL 报错 [Code: 1290, SQL State: HY000] The MySQL server is running with the –...

    学到老
  • MYSQL数据导出与导入,secure_file_priv参数设置

    [Code: 1290, SQL State: HY000] The MySQL server is running with the –secure-fil...

    学到老
  • 关于mysql的wait_timeout参数 设置不生效的问题

    转载自:http://www.cnblogs.com/azhqiang/p/5454000.html

    二狗不要跑
  • 双系统数控机床E:参数设置与系统调试

    完成数控系统的电气连接之后需要在此基础上进行调试。机床的电气调试首先需要注意上电顺序,其次需熟悉数控系统和驱动系统的参数设置,其中电子齿轮比的设置尤为关键。PM...

    ZC_Robot机器人技术
  • 每日一面 - MySQL 的双一设置是什么?

    其实就是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,都设置为 1 就是双 1 设置。MySQL 默认配置就...

    干货满满张哈希
  • MySQL数据安全的"双1模式"简介

    今天简单写写MySQL中跟数据安全相关的两个关键参数吧,一个是innodb_flush_log_at_trx_commit,另外一个是sync_bin...

    AsiaYe
  • RestTemplate设置固定的url参数

    喜欢天文的pony站长
  • mediawiki 常用参数设置

    在编写wiki文档的过程中,遇到了很多自定义的需求,通过学习和实践,先总结一些mediawiki 的常用参数设置。

    阳光岛主
  • Greenplum 常用设置参数

    参考资料:https://blog.csdn.net/kygoal/article/details/75041851

    小徐
  • Ubuntu音频参数设置

    音视频_李超
  • linux下设置ip_local_port_range参数

    在对于繁忙的网络服务器,如代理服务器或负载平衡器,我们可能需要增加网络端口范围来增强它的处理能力。

    后场技术

扫码关注云+社区

领取腾讯云代金券