以下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. layui选项卡同步问题

    下面这些代码是在有选项卡的情况下, 一个页面的状态修改时打开另一个选项卡, 另一个选项卡修改成功后,可以使你当前的选项卡状态实时更新 // 重载当前的页面的需要刷新的表格 table.reload(' ...

  2. jqgrid three 树形结构

    最近我们的表格中,需要更改数据的显示方式,就是jqgrid中以树形的方式显示.请先看图: 就是简单的这种从属方式.但是因为这个没有找到官方的文档(后来找到了,但是发现是翻译过来的,也不是很清楚),所以 ...

  3. iOS----------上传遇到的问题

    插叙:之前电脑一直遇到VPN登录不了的问题,试了几台电脑都能正常连接,只有我的电脑不可以,VPN大佬建议我直接重装系统,索性就直接重新装了系统,结果就能连接了.昨天开始上传包的时候,发现用Applic ...

  4. sql sever insert into混合嵌套插入

    如果你想插入的字段取值方式不同,既有自己设定的值,又想插入某个表中的某个字段数据,下面就举例说明 insert into Meters(metertypeid, meternumber, consta ...

  5. SpringCloud的分布式配置及消息总线

    1.在搭建分布式配置时,我们大概看下分布式配置的流程 如图所示: 当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现 ...

  6. 迷茫<第四篇:这两年>

    时间匆匆而过,不知不觉已经是到北京的第二个年头,又到年末,2017年接近了尾声,提前预祝各位看官元旦节快乐! 今年3月份跳槽了一次,4月份以高级开发工程师职位进来现在的公司一直工作到现在,没有以前那么 ...

  7. Scanner对象及其获取数据出现小问题和解决方案

    Scanner类简介: Java 5添加了java.util.Scanner类,我们可以通过Scanner类来获取用户输入.它是以前的StringTokenizer和Matcher类之间的某种结合.由 ...

  8. 使用Update Strategy组件无法进行delete操作

    问题: Update Strategy组件根据字段值对目标表进行DD_DELETE操作时失效 同时,session log中报错:Target table [XXXXXXXX] does not al ...

  9. 死磕 java集合之CopyOnWriteArraySet源码分析——内含巧妙设计

    问题 (1)CopyOnWriteArraySet是用Map实现的吗? (2)CopyOnWriteArraySet是有序的吗? (3)CopyOnWriteArraySet是并发安全的吗? (4)C ...

  10. Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分

    1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...