带你了解MySQL系统变量配置基础
MySQL变量的统变概念
个人认为可以理解成MySQL在启动或者运行过程中读取的一些参数问题,利用这些参数来启动服务、量配响应或者支持用户的置基请求等
变量的配置
如果打算长期使用,应该写入配置文件,统变而不是量配在***指定,因为在***设置的置基变量会随着MySQL服务的重启而恢复默认值
另外要注意是设置的当前Session的变量还是全局的变量。
变量单位
不同的统变变量的单位不同,比如table_cache是量配指缓存的表的个数,而key_buffer_size则是置基以字节为单位
另外还有以页或者百分比为单位的变量
许多变量可以通过后缀制订单位,
比如1M表示一百万字节,统变在配置文件中或者在命令行下有效,量配
但是置基在使用set命令的时候,这些单位就无效,IT技术网统变必须使用数字,量配单位为字节
比如:set @@session.sort_buffer_size = 1024*1024或者set @@session.sort_buffer_size = 1048576
但是置基配置文件中设置的时候就不能使用表达式
变量的作用域
有些变量的作用是服务器级别的,有些是Session级别的,剩下的的一些是对象级别的。
许多回话的变量是全局变量相等,可以为是默认值
如果改变会话级的变量,它只影响当前Session,当前Session关闭后当前设置的参数会失效
举例:
query_cache_size是全局级的
sort_buffer_size可以在全局级设置,每个Session也可以独立设置
join_buffer_size可以在全局级设置,也可以在Session级设置,一个查询中如果有多个表关联,可以为每个关联分配一个join buffer
除了在配置文件中设置变量之外,(部分变量)也可以在运行时修改,MySQL称之为动态配置变量
比如:
set global sort_buffer_size = 1024*1024*1024
set sort_buffer_size = 1024*1024*1024
set @@sort_buffer_size = 1024*1024*1024
set @@session.sort_buffer_size = 1024*1024*1024
set @@global.sort_buffer_size = 1024*1024*1024
常见变量的亿华云设置与获取资源说明:
key_buffer_size
为键缓冲区(key buffer,也叫键缓存key cache)分配所有指定的空间,
操作系统不会为该设置立马分配内存,而是等到使用的时候才分配。
table_cache_size
当有线程打开表时,MySQL会检查这个标量的值,如果大于缓存中表的数量,线程可以把***打开的表放入缓存,
如果该值比缓存中的表数小,MySQL将从缓存中删除不常用的表
thread_cache_size
当有连接关闭时,MySQL检查缓存中是否还有空间来缓存线程。
如果有:则缓存改线程已被下次连接重用
如果没有:他讲销毁改线程而不再缓存,
缓存中使用的线程数,不会立即减少,只有在新的连接删除缓存中的一个线程并使用后才会减少
MySQL只在关闭连接时候才在缓冲中增减线程,在创建新的连接的时候才从缓存中删除线程
query_cache_size
MySQL启动的时候,一次性分配并且初始化这块内存,如果修改这个变量(即使设置为与当前值一样)
MySQL会立刻删除所有缓存的站群服务器查询,重新分配这片缓存到指定大小,并且重新初始化内存
read_buffer_size
MySQL只会在查询需要时才会为该缓存分配内存,并且会一次性分配改参数指定大小的全部内存
read_rnd_buffer_size
MySQL只会在查询需要时才会为该缓存分配内存,并且只分配需要的内存大小而不是全部指定的大小
应该叫做,max_read_rnd_buffer_size
sort_buffer_size
MySQL只会在查询需要做排序操作的时候拆毁为该缓存分配内存,
一旦需要排序,MySQL就会立刻分配给改参数指定大小的全部内存,而不管排序是否需要这么大的内存。
由此可见,不用的变量,设置之后的启用时间,启用原理,生效方式等都是有一定差异的。
设置变量的潜在的影响
动态设置全局变量可能会导致意外的副作用。
某些变量改变后会立即生效,比如从缓冲中刷新赃块,从而引起服务器相应请求的一些不稳定甚至更严重的问题。
相关文章
三星A7的质量评价及用户体验(一款实用可靠的智能手机,值得推荐)
摘要:作为三星旗下的一款中高端智能手机,三星A7凭借出色的性能和卓越的品质,备受用户青睐。本文将对三星A7的质量进行评价,并分享用户的使用体验。1.外观设计:简约时尚的外观设...2025-11-05- 复制<dependency> <groupId>org.springframework.boot</groupId> &2025-11-05
- 复制(lengthofwhatissorted+sizeof(rowpointer)) *numberofmatchedrows *22025-11-05
Bleeping Computer 网站披露,Zacks Investment Research (Zacks)遭遇了此前未公开披露的数据泄露事件,影响约 880 万客户。值得一提的是,2021 年2025-11-05小米耳机2体验报告(颠覆你对音质的认知,小米耳机2给你不一样的听觉享受)
摘要:在现代社会,人们对于音质的要求越来越高。小米作为一家以技术创新为核心的公司,推出了小米耳机2,旨在给用户带来更加震撼的音质体验。本篇文章将从外观设计、音质表现、舒适性等多个方面对小...2025-11-05- 复制JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JA2025-11-05


最新评论