加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中innodb_flush_log_at_trx_commit参数的示例解析

发布时间:2021-12-23 12:11:07 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍mysql中innodb_flush_log_at_trx_commit参数的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一、参数解释 0:log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该
这篇文章主要介绍mysql中innodb_flush_log_at_trx_commit参数的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
 
一、参数解释
 
0:log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作。
 
1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。
 
2:每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。
 
 
 
所以由以上定义得出innodb_flush_log_at_trx_commit 有两个要点
1.必须是事务提交才会触发
2.作用是影响数据刷到磁盘的方式
 
 
二、参数修改
 
找到mysql配置文件mysql.ini,修改成合适的值,然后重启mysql。
 
三、注意事项
当设置为0,该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。
 
当设置为1,该模式是最安全的,但也是最慢的一种方式。在mysqld 服务崩溃或者服务器主机crash的情况下,binary log 只有可能丢失最多一个语句或者一个事务。。
当设置为2,该模式速度较快,也比0安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失。
 
选择2 时 因为事务提交时 只是讲事务数据 刷到了 log日志中 未刷新到磁盘 所以 数据库崩溃 无影响 因为已经写入了 文件系统 只有整个系统崩溃了 才有影响
 
以上是“mysql中innodb_flush_log_at_trx_commit参数的示例分析”这篇文章的所有内容,感谢各位的阅读!

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读