1.innodb_old_blocks_pct 确定modpoint位置,默认37,(3/8=37%)可以通过这个调整young与old比.

innodb_old_blocks_time:当有大的查询时,可能会将热点数据页从LRU列表中移除,为了避免这个问题可以通过参数innodb_old_blocks_time的修改来实现,该参数表示页读取到mid位置后需要等待多久才会被加入到LRU列表的热端。

2.缓冲区相关参数:
InnoDB Buffer Pool:存储InnoDB数据和索引。   
    ---innodb_buffer_pool_size
redo log buffer:redo日志缓冲区。 
     
     
 ---innodb_log_buffer_size

BinLog
Buffe:缓存二进制日志的。   
     
   
 --- binlog_cache_size

Query
Cache:存储查询缓存的。   
     
     
  ---query_cache_size

Thread
Cache:缓存连接线程的。   
     
     
 ----thread_cache_size

Table Open
Cache:缓存表文件句柄信息的。   
     
----table_open_cache 
 

Key Buffer:缓存MyISAM存储引擎索引键的。 
     
  ----key_buffer_size

 
3.线程相关参数:
线程栈信息使用内存(thread_stack)

排序使用内存(sort_buffer_size)

Join操作使用内存(join_buffer_size)

顺序读取数据缓冲区使用内存(read_buffer_size)

随机读取数据缓冲区使用内存(read_rnd_buffer_size)

连接信息及返回客户端前结果集暂存使用内存(net_buffer_lenth)

批量插入暂存使用内存(bulk_insert_buffer_size)

临时表使用内存(tmp_table_size)

4.数据预热相关参数

innodb_buffer_pool_dump_pct
  --预热数据的百分比.(默认40%)

innodb_buffer_pool_dump_now =
1   ----采用手工方式把热数据dump到本地磁盘。(默认关闭)

innodb_buffer_pool_dump_at_shutdown
= 1 --在关闭时把热数据dump到本地磁盘。(5.7.7以后默认是on)

innodb_buffer_pool_load_at_startup
= 1    ---在启动时把热数据加载到内存。(默认关闭)

innodb_buffer_pool_load_now =
1   
 ---采用手工方式把热数据加载到内存。(默认关闭)

 

5.buffer pool

default_storage_engine(默认存储引擎) 
   
innodb_data_file_path(ibdata1的文件大小及自增)
innodb_buffer_pool_size(缓存池大小) 
     
innodb_buffer_pool_instances(缓存池个数) 
innodb_additional_mem_pool_size(额外内存池的大小)  innodb_file_per_table(是否开启独立表空间)  innodb_buffer_pool_chunk_size(在线修改)

关闭数据库的时候设置
innodb_fast_shutdown=1,在关闭数据库的时候,会刷新所有脏页到数据库内。fuzzy
checkpoint在数据库运行的时候,进行页面的落盘操作,不过这种模式下,不是全部落盘,而是落盘一部分数据。

6.
innodb_buffer_pool其他参数:

 innodb_lock_wait_timeout 事务等待获取资源等待的最长时间,超过这个时间还未分配到资源则会返回应用失败;

innodb_autoextend_increment:
  系统表空间文件每次扩展的大小

innodb_flush_neighbors={0|1|2}
 --临阶页

参数2:show variables like '%innodb_flush_method%';
 --直接设置其值为O_DIRECT即可.

作用:设置innodb在落盘脏页的时候,绕过操作系统缓存,直接落盘,提高效率.

innodb_change_buffering = all
  --插入缓冲

innodb_doublewrite
    ---doublewrite

innodb_adaptive_hash_index 
 ---hash索引

6.redo相关参数

innodb_log_buffer_size
    --redo
buffer大小。默认8M。

innodb_log_files_in_group
           ---redo
log文件个数,默认2个。

innodb_log_file_size
                   ---每个文件的大小。默认值:5242880
(5M)。

innodb_log_files_in_group * innodb_log_file_size
   ---总的redo
log大小。

innodb_flush_log_at_trx_commit
       ---落盘机制。

7.undo相关参数

 innodb_undo_directory =
/home/mysql3306/mysql3306/
  ----配置undo目录

innodb_undo_logs = 128 #must >=35.default 128

innodb_undo_tablespaces = 3
      #must
>=2
   ---undo文件个数(必须大于2)

innodb_undo_log_truncate = 1
      -----开启在线回收功能.(5.7默认关闭,8.0默认开启)

innodb_max_undo_log_size = 1000M
     ----undo单个文件最大值,即回收阀值.

innodb_purge_rseg_truncate_frequency = 128

8.IO相关参数

1. 参数innodb_write_io_threads
 写线程 默认四个,负责数据块的写入

2. 参数innodb_read_io_threads 读线程
,默认四个,负责数据块的读取,上面两个参数高并发下,可以设置为8

3.innodb_purge_threads 
  --purge线程个数

innodb_io_capacity(落脏个数)

innodb_write_io_threads(写IO)

innodb_read_io_threads(读IO)

innodb_page_cleaners(刷脏频次)

在MySQL5.6中,开启了一个独立的page
cleaner线程来进刷lru list 和flush
list。默认每秒运次1次.

MySQL5.7 可设置多个page cleaner线程提高脏页刷新效率 ;

  1、5.6版本以前,脏页的清理工作交由master线程的;

  2、Page cleaner thread是5.6.2引入的一个新线程(单线程),从master线程中卸下buffer
pool刷脏页的工作独立出来的线程(默认是启一个线程);

  3、5.7开始支持多线程刷脏页;

show global status like '%wait_free%';如果值很大,则需要增加innodb_page_cleaners值,同时增加写线程。

mysql参数总结的更多相关文章

  1. MySQL程序之mysql参数详解

    MySQL程序之mysql参数详解 mysql 是一个命令行客户程序,用于交互式或以批处理模式执行SQL语句 用法: mysql [OPTIONS] [database] 参数: 1.-? --hel ...

  2. Mysql 性能优化4 mysql参数配置

    mysql 参数的介绍 大概450项参数,大多保持默认就可以了 错误的参数 崩溃,错误,运行缓慢. 参数最好在生产环境前配置好.最好不要在生产环境 中 直接配置,有可能不会立即生效,或者之前的数据和配 ...

  3. MySQL参数优化案例

    环境介绍 优化层级与指导思想 优化过程 最小化安装情况下的性能表现 优化innodb_buffer_pool_size 优化innodb_log_files_in_group&innodb_l ...

  4. MySQL参数文件及参数修改方法

    MySQL参数文件: MySQL数据库初始化参数由参数文件来设置,如果没有设置参数文件,mysql就按照系统中参数的默认值来启动. 在windows和linux上,参数文件可以被放在多个位置,数据库启 ...

  5. 官方推荐的MySQL参数设置值

    这oracle官方推荐的在OLTP环境下,MySQL参数设置的最佳实践. 下面的参数设置,对系统的性能会很有帮助.但是建议大家还是结合实际情况使用. APPLIES TO: MySQL Server ...

  6. [MySQL] 参数: innodb_flush_log_at_trx_commit和sync_binlog

    MySQL参数: innodb_flush_log_at_trx_commit和sync_binlog innodb_flush_log_at_trx_commit和sync_binlog是MySQL ...

  7. mysql参数讲解

    MySQL配置参数详解: http://blog.csdn.net/wlzx120/article/details/52301383 深入理解mysql参数 http://blog.itpub.net ...

  8. docker环境下mysql参数修改

    原文:docker环境下mysql参数修改 需要修改log_bin为on,看了好几个博客说都需要删掉容器重新生成,然而并非如此, 我们可以用docker cp 命令将docker的文件"下载 ...

  9. mysql参数sql_log_bin配置

    mysql参数sql_log_bin配置 如果想在主库上执行一些操作,但不复制到slave库上,可以通过修改参数sql_log_bin来实现.比如说,这里模拟主从同步复制异常. 还有一种场景,就是导入 ...

  10. 关于MySQL参数,这些你要知道

    前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 MySQL 参数是啥.本篇文章我们来聊聊 MySQL 参数,学习下如何管理维护 MySQL 参数. 1.MySQL参数 ...

随机推荐

  1. swoole执行外部程序称为进程

    <?php $child = new \Swoole\Process(function(\Swoole\Process $process){ $process->exec('/usr/lo ...

  2. Java 8 中的抽象类和接口到底有啥区别?

    上一篇栈长发了这篇<Java 8 有多牛逼?打破一切你对接口的认知!>,帮助许多人解开了疑惑,还有读者留言说两者还有啥区别,故引发了此篇: 在我们面试时也会经常遇到面试官问抽象类和接口的区 ...

  3. C++ 设置软件激活不息屏

    SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED);

  4. Vue.js 3.0搭配.NET Core写一个牛B的文件上传组件

    在开发Web应用程序中,文件上传是经常用到的一个功能. 在Jquery时代,做上传功能,一般找jQuery插件就够了,很少有人去探究上传文件插件到底是怎么做的. 简单列一下我们要做的技术点和功能点 使 ...

  5. echarts常用功能封装|抽象为mixin

    目前已解锁以下功能: [x] 初始化echarts(initChart) [x] 获取echarts参数配置(getOption) [x] 生成echarts图表(setOption) [x] 监听r ...

  6. Linux服务器部署redis常见问题处理

    redis开启和禁用登陆密码校验 1. 开启登陆密码校验 在redis-cli命令行工具中执行如下命令: config set requirepass yourpassword2. 禁用登陆密码校验 ...

  7. D. Bash and a Tough Math Puzzle 解析(線段樹、數論)

    Codeforce 914 D. Bash and a Tough Math Puzzle 解析(線段樹.數論) 今天我們來看看CF914D 題目連結 題目 給你一個長度為\(n\)的數列\(a\), ...

  8. WIN32之消息队列

    0x01. 什么是消息? 当我们点击鼠标的时候,或者当我们按下键盘的时候,操作系统都要把这些动作记录下来,存储到结构体中,这个结构体就是 消息 比如我们点击运行程序,是通过消息队列获取,通过explo ...

  9. 【总结】git

    一.基本介绍 1.历史 git版本控制工具,Linus开发linux时最开始用的是bitkeeper,后来该公司取消了linux社区的免费使用权力,linus用一周的时间开发出第一版git 2.git ...

  10. 购买GPRS DTU时应该怎么选择

    GPRS DTU如今是一种被广泛应用的物联网无线数据终端,主要是利用GPRS网络为用户提供无线长距离数据透传功能,在电力.环保.物流.气象等行业领域有着广泛应用.目前市场上的GPRS DTU产品眼花缭 ...