学习笔记(01):MySQL数据库运维与管理-02-设置系统变量

立即学习:https://edu.csdn.net/course/play/10084/221705?utm_source=blogtoedu

系统变量设置方法

动态设置(立即生效,实例重启后失效)

set [global | session] system_var_name= exp

示例:

set GLOBAL innodb_buffer_pool_size=2g;

静态设置(实例重启后生效)

#vi /etc/my.cnf

innodb_buffer_pool_instances=2;

 

--2、关于innodb_buffer_pool_size的设置

      在mysql版本大于等于5.7.5之后,innodb_buffer_pool_size可以动态设置。

动态调整时会以参数innodb_buffer_pool_chunk_size作为调整粒度,缺省值为128.

 

Buffer pool size的大小应当总是等于innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances或者这个乘积的倍数如果设置的值不是innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances的乘积或者倍数,则innodb_buffer_pool_size会被调整。

set global innodb_buffer_pool_size=1024*1024*1024*2;

show variables like 'innodb_buffer_pool_size';

--监控innoDB_buffer_pool大小调整

show status where Variable_name='InnoDB_buffer_pool_resize_status';

--修改参数文件使其永久生效

#vim /etc/my.cnf

     innodb_buffer_pool_size=2g

#systemctl restart mysqld

---b、参数innodb_buffer_pool_instances

此选项仅在将innodb_buffer_pool_size设置为1GB或更多时生效。用于指定InnoDB缓存池分配的实例个数或区域数。

总缓存池大小在所有缓冲池之间划分。

将缓冲池划分为单独的实例可以减少不同线程读取或写入缓存页面时的争用来提高并发性。

存储在缓冲池中或从缓冲池读取的每个页面都使用散列函数随机分配给其中一个缓冲池实例。

每个缓冲池管理自己的空闲列表,刷新列表,LRU以及连接到缓冲池的所有其他数据结构,并受其自己的缓冲池互斥锁保护。

如果innodb_buffer_pool_size大于1.3GB,则默认为innodb_buffer_pool_instances是innodb_buffer_pool_size / 128MB

在所有其他平台上,当innodb_buffer_pool_size大于或等于1GB时,默认值为8。否则,默认值为1.

 

为了获得最佳效率,请指定innodb_buffer_pool_instances和innodb_buffer_pool_size的组合,以便每个缓冲池实例至少为1GB。

 

--以下启用静态设置

#vim /etc/my.cnf

     innodb_buffer_pool_size=2g

#systemctl restart mysqld

-- 此时innodb_buffer_pool_instances自动设置为8

 

--结论

--无论global级别如何设置,不会影响到当前session级别的设置

--global级别设置后仅影响后续登录的会话

--session级别设置后立即生效

 

--innodb_buffer_pool_size参数设置为OS内存的50%至70%%

--建议使用多个子池

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七七powerful

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值