is innodb\u flush\u log\u at\u trx\u commit=1意味着如果commit返回ok,缓冲区将刷新到日志?

2exbekwf  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(285)

我编写了一个测试程序:
启动事务
在表中插入100000行
提交
从表中选择count(1)并返回100000
使用kill-9关闭mysqld线程
然后重启,我发现innodb崩溃恢复结束了

new9mtju

new9mtju1#

你读了吗https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit? 它部分地说:
innodb \u flush \u log \u at \u trx \u commit
完全符合酸性要求需要默认值1。有了这个值,innodb日志缓冲区的内容在每次事务提交时都被写入日志文件,并且日志文件被刷新到磁盘。
你对innodb崩溃恢复在你后面运行感到惊讶吗 kill -9 mysqld过程?你的问题不清楚你是否在问这是否正常。它是。

相关问题