对MySQL几个参数的重新认识

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
back_log :
    操作系统保持监听的队列,这个是在mysql 进行thread 进行连接之前的操作
    如果你有很多的连接数 并且出现 connection refused 的错误提示,增加这个值肯定没错。
skip-networking :
    这种是不在监听 TCP/IP 连接。这个时候只能通过socket 或者 named pip 连接
max_connect_errors:
    允许每个host 连接出错的次数,如果达到该值,该host就不能在进行连接除非使用 flush hosts 命令或者重启数据库。错误的密码或者其他的错误会导致该值增加。这个时候可以看看 aborted_connects 状态变量来检验连接的变化。
binlog_cache_size
    二进制日志中缓存,如果使用较大,且很多个语句的事务,增加该值能增加性能,当事务commit的时候 就会刷新的binary log中。如果事务大小 比 该值大,就会使用硬盘上的临时表。会降低性能
read_buffer_size
    对于 full table scan 所使用的内存,
read_rnd_buffer_size:
    When reading rows in sorted order after a sort, the rows are read through this buffer to avoid disk seeks.对于使用order by语句   时,应增大该值。

sort_buffer_size    
    对于 order by 和 group by 查询很有利,如果sorted data 比sort buffer 大那就会使用磁盘上的临时表。
join_buffer_size
    主要用于 join 查询中没有使用 索引的情况。可以观察 select_full_join 来确定这样的查询的数量
thread_concurrency:
    cpus * (2..4) 让thread system 同时能有 N个线程运行
ft_min_word_len :
     对于 full text search 的前缀索引长度的使用
thread_stack=240K
     线程堆栈的大小, 该部分内存总会在建立连接的时候 进行保存
tmpdir = /usr/local/mysql/data 
     存储临时文件,比如: large sorts,temporary tables file 
MyISAM 部分:
key_buffer_size 
    缓存 MyISAM 表的 索引部分,最大不要超过总内存的 30%,因为os也要缓存一     些rows。即使不使用 MyISAM表的时候 也需要设置 8--64M的 空间来 给 temporary disk table 使用。

bulk_insert_buffer_size:
    MyISAM 使用像 tree一样的cache 来对 bulk insert 使用缓存,(INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., and LOAD DATA INFILE)),变的更快,这个是线程级别的缓存,该值不要超过 key_buffer_size
myisam_sort_buffer_size :
    当mysql在 repair,optimize,alter table 和load data infile 等语句中 rebuild索引的时候,需要使用到该内存,这个是线程级别的内存。
myisam_max_sort_file_size 对上个参数最大值的限制、

myisam_repair_threads:
    MyISAM 表中如果有多个index,Myisam 会使用多个线程来修复他们 by sorting in parallel。
myisam_recover :
    Automatically check and repair not properly closed MyISAM tables

******INNODB Specific options******

innodb_additional_mem_pool_size :
    is used by InnoDB to store metadata information;;If InnoDB requires more memory for this purpose it will start to allocate it from the OS. 他的状态可以在 show innodb status 中进行查看
innodb_buffer_pool_size:
    设置太高的话,可能会造成物理内存中 page cache的竞争。
innodb_thread_concurrency:
    多少个 线程 可以同时被 innodb kernel 处理,该值取决于 app,硬件和操作系统调用。 太高的值可能导致系统波动。
innodb_log_file_size 
    大小通常是 innodb_buffer_pool_size的 25%--100%
innodb_lock_wait_timeout  可以防止死锁吗?





本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1159847,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
SQL 缓存 关系型数据库
Mysql第十四天,Mysql并发参数调整
Mysql第十四天,Mysql并发参数调整
32 0
|
2天前
|
SQL 关系型数据库 MySQL
在云数据仓库AnalyticDB MySQL版中,有几个参数可能影响SELECT查询的执行及其稳定性
在云数据仓库AnalyticDB MySQL版中,有几个参数可能影响SELECT查询的执行及其稳定性【1月更文挑战第16天】【1月更文挑战第80篇】
306 4
|
2天前
|
存储 关系型数据库 MySQL
RDS有哪些参数?都有什么作用?
RDS有哪些参数?都有什么作用?
56 0
|
2天前
|
缓存 关系型数据库 MySQL
MySQL Binlog--事务日志和BINLOG落盘参数对磁盘IO的影响
MySQL Binlog--事务日志和BINLOG落盘参数对磁盘IO的影响
54 0
|
2天前
|
SQL 关系型数据库 MySQL
使用CTAS 把mysql 表同步数据 到hologres ,Flink有什么参数可以使hologres 的字段都小写吗?
使用CTAS 把mysql 表同步数据 到hologres ,Flink有什么参数可以使hologres 的字段都小写吗?
319 0
|
2天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
2天前
|
SQL 关系型数据库 MySQL
【Mysql】MYSQL参数max_allowed_packet 介绍
【Mysql】MYSQL参数max_allowed_packet 介绍
91 0
|
2天前
|
缓存 关系型数据库 MySQL
MySQL调优之服务器参数优化实践
MySQL调优之服务器参数优化实践
389 0
|
2天前
|
存储 SQL 关系型数据库
MySQL的参数optimizer_switch
`optimizer_switch`是MySQL系统变量,用于控制查询优化器行为。它由键值对组成,如`index_merge=on/off`,用于开启或关闭特定优化功能。要查看当前设置,运行`SHOW VARIABLES LIKE 'optimizer_switch';`,修改则用`SET`命令,如`SET optimizer_switch='index_merge=off';`。
|
2天前
|
SQL 存储 关系型数据库

推荐镜像

更多