mysql核心参数_MySQL技术体系之核心参数

本文主要基于MySQL 5.7版本的数据库环境,总结my.cnf文件中核心参数的配置使用,让更多的人对MySQL技术体系有更全面、更专业的深度了解。

一、客户端核心参数

1、port

端口号,默认3306

2、socket

Socket文件地址,默认以.sock为文件名称后缀,用于UNIX套接字通信。

二、服务端全局区(SGA)缓冲区参数

1、innodb_buffer_pool

InnoDB缓冲池,位于主内存

缓存被访问过的表数据、索引文件、插入缓冲、数据字典等

推荐大小设置为物理内存的50%-80%

2、innodb_buffer_pool_instance

将缓冲池进一步划分为互相隔离的内存区域,更好的支持并发读写,减少内存争用现象

默认值为1

仅当innodb_buffer_pool参数配置大于1024MB有效

通过命令show engine innodb status查看每个内存区域的内存使用情况

3、innodb_old_blocks_time和innodb_old_blocks_pct

InnoDB缓冲池innodb_buffer_pool,内部由LRU链表管理

LRU链表进一步分为old pages list和young pages list:

old pages list:存放长时间未被访问的数据页

young pages list:存放最新、最近被访问的数据页

当超过innodb_old_blocks_time参数设置的时间时,就会移动到old pages list,默认是1000ms。

innodb_old_blocks_pct参数决定old pages list在LRU链表及innodb_buffer_pool中占比:

存在大表扫描或者执行mysqldump备份操作时,可能会剔除热数据,增加I/O压力,因此要适当减少innodb_old_blocks_pct参数值

4、innodb_log_buffer_size和innodb_log_waits

innodb_log_buffer_size:日志缓冲区的大小,取值范围16MB-64MB

innodb_log_waits:等待日志缓冲刷出的次数

通过命令show global status like "%innodb_log_waits%"查看:

如果发现innodb_log_waits值大于0,并且持续增长,可以考虑增大innodb_log_buffer_size

5、innodb_log_buffer

事务在内存中的缓冲区的大小,即redo log buffer

6、query_cache_size和query_cache_type

query_cache_siz静态数据的缓存区大小

默认关闭,建议关闭,保证数据库的TPS

数据仓库场景可能会选择开启

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值