文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL的几个和innodb相关的主要参数设置总结

2024-04-02 19:55

关注
1).innodb_buffer_pool_size
为了提升性能,可以把要写的数据先在缓冲区buffer里合并,然后再发送给下一级存储。这样做可以提高I/O读写的效率。
InnoDB Buffer Pool就是InnoDB用来缓存它的数据和索引的内存缓冲区,可由innodb_buffer_pool_size设置其大小。
理论上将这个值设置的越高,访问数据需要的磁盘I/O就越少。常见的做法是让这个值大于热点数据,这样可以获得比较好的性能。建议将其值设置为机器物理内存大小的70%-80%之间。


2).innodb_log_file_size
日志组里每个日志文件的大小,在32位计算机上日志文件的合并大小必须小于4GB,默认大小是5MB,在生产环境下,这个值需要调整,官方文档推荐值为1MB到1/N的缓冲池大小,其中N是日志组里日志文件的数(由innodb_log_files_in_group变量来确定,一般
默认值为2)。值越大,在缓冲池中需要检查点刷新的行为就越少,因此也就越节约磁盘I/O,但更大的日志文件也意味着在崩溃时恢复的更慢。
建议将日志文件的大小设置为256MB或更大,这样可以满足一般情况下的需要。


3).innodb_flush_log_at_trx_commit,建议设置为2
这个选项的默认值是1,当设置为2时,在每个事务提交时,日志缓冲被写到文件中,但不对日志文件做刷新到磁盘的操作。对日志文件的刷新每秒才发生一次。所以,理论上操作系统崩溃或掉电只会丢失最后一秒的事务。
以下是设置为0,1,2三个值的详细解释:
如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作。
如果innodb_flush_log_at_trx_commit设置为1,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去.
如果innodb_flush_log_at_trx_commit设置为2,每次事务提交时MySQL都会把log buffer的数据写入log file.但是flush(刷到磁盘)操作并不会同时进行。
该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。


4).sync_binlog,建议设置为0
sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。
sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

如果是autocommit模式,那么每执行一个语句就会向binlog里写入一次,否则每个事务写入一次。如果sync_binlog的值为正,那么每当sync_binlog参数设定的语句或事务数被写入binlog后,MySQL服务器就会将它的二进制日志同步到硬盘上。默认值是0,不与硬盘同步。值为1是最安全的选择,因为崩溃时,
你最多丢失binlog中的一个语句或事务。但是这也是最慢的选择,成本昂贵。

innodb_flush_log_at_trx_commit和sync_binlog参数的区别:
innodb_flush_log_at_trx_commit 这个是控制的是 innodb 存储的表的数据写入方式, 是ib_logfile这个文件的刷新方式
sync_binlog 控制的是 binlog 的写入,是mysql-bin.000的刷新方式

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯