以下List是我们常见的MySQL参数配置,这个参数对提高实例的性能大有裨益。

其中 建议设置值,仅供参考,需要根据自己的业务场景和硬件资源仔细推敲。

参数 设置说明 建议设置值
lower_case_table_names 大小写敏感:此参数不可以动态修改,必须重启数据库:
0.表名存储为给定的大小和比较是区分大小写的
1.表名存储在磁盘是小写的,但是比较的时候是不区分大小写
2.表名存储为给定的大小写但是比较的时候是小写的
0
max_connections 最大链接数据 2000
max_connect_errors 某一客户端链接失败的情况下尝试连接MySQL服务器最大尝试次数 100
sort_buffer_size 排序缓冲增加sort_buffer_size值可以加速ORDER BY或GROUP BY操作
想要加快ORDER BY的速度,首先看是否可以让MySQL使用索引而不是额外的排序阶段
8388608
join_buffer_size 联合查询缓冲此缓冲被使用来优化全联接(FULL JOINS 不带索引的联接),
类似的联接在极大多数情况下有非常糟糕的性能表现,但是将此值设大能够减轻性能影响。如果全局大小比使用它的大多数查询都大,那么内存分配时就会导致性能下降
8388608
tmp_table_size 规定了内部内存临时表的最大值,每个线程都要分配。这两个参数是mysql对临时表的大小控制,tmp_table_size
控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定;max_heap_table_size
用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。
67108864
max_heap_table_size 67108864
innodb_buffer_pool_size  innodb缓冲池,用来缓存InnoDB索引页面、Undo页面以及一些其它辅助数据。 一般为物理内存的75%-85%
innodb_buffer_pool_instances 将InnoDB缓冲池划分为多个实例适当地增加该参数,可以提升InnoDB的并发性能。通过这个参数,把原来一整块Buffer Pool分割为多块内存空间,每个空间独立管理自己的空闲链表、刷新链表、LRU及其它数据结构。  
innodb_buffer_pool_dump_pct  InnoDB缓存池预热恢复buffer pool中百分比数据 40
innodb_flush_log_at_trx_commit 0:log buffer每秒一次写入log file,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作。
1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。
2:每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作
1
slow_query_log 开启慢查询日志,默认关闭. 1
log_slow_slave_statements  记录由Slave所产生的慢查询,默认值OFF。 1
log_queries_not_using_indexes 将没有使用索引的SQL语句记录到慢查询日志文件中,默认值OFF。 1
log_throttle_queries_not_using_indexes 来限制每分钟可以写入慢查询日志的数量。 10
long_query_time 慢查询超时时间,默认10秒修改为1秒。 1
thread_cache_size

重用保存在缓存中线程的数量:如果Threads_created值过大MySQL服务器一直在创建线程,比较耗资源,可以适当增加配置文件中thread_cache_size值。缓存命中率:Thread_Cache_Hit
= (Connections - Threads_created) / Connections * 100%;

256
innodb_io_capacity InnoDB有后台线程在不断地做Flush操作,影响这个操作频率的就是这个innodb_io_capacity参数。如果碰到系统因为后台Flush操作而产生周期性性能降低的情况,特别是在使用SSD设备的时候,可以适当提高这个参数的值,以加速Flush的频率。(但 For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100.)  32768 (SSD 配置)
innodb_thread_concurrency 在并发量大的实例上,增加这个值,可以降低InnoDB在并发线程之间切换的花销,以增加系统的并发吞吐量。 32
slave_parallel_workers 在进行多线程复制的时候,如果设置此参数为非零值,则可以打开多线程并发执行回放日志的操作,以提升Slave的同步性能。 16
sync_binlog MySQL 同步Binlog到磁盘的方式。1 最安全,但性能较差,每一个事务提交时,MySQL都会把Binlog刷新到磁盘中;0性能最好,但不安全。事务提交时,MySQL将Binlog信息写入到Binlog文件(OS Cache)中,但是MySQL不控制Binlog的刷盘操作,由文件系统自己控制其缓存的刷新 0
tx_isolation 设置MySQL的隔离级别,读未提交(read-uncommitted);不可重复读(read-committed);可重复读(repeatable-read);串行化(serializable)。这四种级别越来越严格。 REPEATABLE-READ
binlog_order_commits 事务在提交的时候写入Binlog的顺序。这是把双刃剑,如果打开可以保证事务都以相同的顺序写入二进制文件,如果关闭则可以提升性能。需要根据实际情况决定。 on
max_allowed_packet MySQL发送和接受的最大数据包大小,设置过小会导致数据包分裂情况严重。 134217728
thread_stack 每个连接线程被创建时,MySQL给它分配的内存大小。 262144

MySQL 关于性能的参数配置梳理的更多相关文章

  1. Spark 性能相关参数配置详解-任务调度篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...

  2. Spark 性能相关参数配置详解-压缩与序列化篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...

  3. Spark 性能相关参数配置详解-shuffle篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 在Spark的官方文档http://spark.apache.org/docs/latest/configuration. ...

  4. Spark 性能相关参数配置详解-Storage篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...

  5. MySQL 5.6常用参数配置及说明

    [client] user = root password = Yong_110 [mysql] prompt = [\\u@\\p][\\d]>\\_ no-auto-rehash [mysq ...

  6. 数据库相关文章转载(1) MySQL性能优化之参数配置

    1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...

  7. MySQL性能优化之参数配置

    1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...

  8. Mysql性能优化之参数配置(转)

    前言: Mysql作为数据库中广泛应用的开源产品,需要面对不同的生产压力,而有些性能问题通过配置优化就可以得到解决,优化可以分为几个方向:1.优化参数配置.2.优化数据库索引.3.优化数据库结构,如分 ...

  9. MySQL性能的五大配置参数(内存参数)

    内存参数: 存储引擎/共享日志缓冲区,缓冲区池 innodb_buffer_pool_sizeinnodb_additional_mem_pool_sizeinnodb_log_buffer_size ...

随机推荐

  1. Unity制作即时战略游戏毕设

    创建项目 双击Unity,选择New Project:我们将它命名为rts,悬着其他本地磁盘例如C:,选择3D然后点击Create Project: 然后我们通过File->Save Scene ...

  2. myeclipse附加源码进行查看的方法

    在编程过程中,有可能需要用到看源码的情况,那么怎么进行添加源码呢,这里做下记录 首先,先下载javaEE源码(可在网上自由下载) 1.在HttpServlet上右键-->Open Declara ...

  3. 免费开源ERP-成功案例分析(1)

    Odoo用户案例 Odoo用户概要 关于Odoo全球的用户,我们来看一些数据: Odoo目前全球有300万使用者 Odoo系统上每天新创建的数据库超过1000个 Odoo和Word.Excel.Pow ...

  4. 白话kubernetes的十万个为什么(持续更新中...) - kubernetes

    Kubernetes简称? 答:k8s或kube. Kubernetes是什么? 答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序.本质上是一种特殊的数据库,里面存储的是能够 ...

  5. 最短路问题之Bellman-ford算法

    题目: 最短路:给定两个顶点,在以这两个点为起点和终点的路径中,边的权值和最小的路径.考虑权值为点之间的距离. 单源最短路问题,Bellman-ford算法 思路:每次循环检查所有边,可优化. 应用于 ...

  6. 一些常用Java序列化框架的比较

    概念 序列化:将Java对象转化为字节数组 反序列化:将字节数组转化为Java对象 在RPC应用中,进行跨进程远程调用的时候,需要使用特定的序列化技术,需要对进行网络传输的对象进行序列化和反序列化. ...

  7. php自动加载规范 PSR4 (Thinkphp)

    PSR4是一种自动加载规范,老版本是PSR0,尽管thinkPHP支持PSR4和PSR0的自动加载方式,但是默认也是优先进行PSR4加载,如果失败,再进行PSR0的加载.本篇文章只会讨论PSR4的加载 ...

  8. [Inside HotSpot] Visual Studio2017编译调试openjdk12

    编译 下载并编译好freetype,然后安装cygwin并安装必要工具: autoconf make zip unzip 当前目录效果为: 然后cygwin打开,进入openjdk12目录输入命令进行 ...

  9. JVM回收器与调优

    定义: 使用编程语言将GC算法实现出来,产生的程序就是垃圾搜集器了 JVM给了三种选择:串行收集器.并行收集器.并发收集器 串行搜集器(serial collector):它只有一条GC线程,且就像前 ...

  10. DotNetCore跨平台~认识环境和环境变量

    回到目录 环境 环境,对于开发来说就是部署的一种场景,你可以是调试场景,测试场景,生产场景,当然还可以有很多其它的场景,只要你的项目需要就可以自定义,微软帮我们定义了三种标准的环境变量,下面来说一下. ...