我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL InnoDB常见参数详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL InnoDB常见参数详解

一、文件(数据文件、日志文件)
     1、相关参数:
          innodb_data_home_dir
          innodb_data_file_path=file_name:file_size[:autoextend[:max:max_file_size]]

     注:
          a、innodb_data_file_path的值应该为一个或多个 数据文件规格的列表。如果命名一个以上的数据文件,用 分号(‘;’)分隔它们
          b、autoextend属性和后面跟着的属性只可被用来对innodb_data_file_path行里最后一个数据文件。
          c、InnoDB不创建目录,所以在启动服务器之前请确认/ibdata目录的确存在
          d、如果没有指定innodb_data_home_dir,则默认为mysql数据目录
         e、如果你指定innodb_data_home_dir为一个空字符串,你可以为列在innodb_data_file_path值里的数据文件指定绝对路径。
[mysqld]
innodb_data_home_dir =
innodb_data_file_path=/ibdata/ibdata1:50M;/ibdata/ibdata2:50M:autoextend
二、参数
     1、innodb_autoextend_increment(动态,默认为8M)
          当自动扩展表空间被填满之时,为扩展而增加的尺寸(MB为单位)。
     2、innodb_fast_shutdown(动态,默认为1)
          0:在关闭之前做一个完全净化、插入缓冲合并和刷脏页,最慢,但重启最快
          1:InnoDB在关闭之时跳过purge和insert buffer merge,只刷脏页
          2:刷新日志并强制关闭,类似crash,数据不会丢,但在启动时会做一次崩溃恢复
          mysql在关闭的时候进行的操作:
               1、purge all:删除无用的undo页
               2、merge insert buffer
               3、flush dirty page
     3、innodb_flush_log_at_trx_commit(动态,默认为1)
          0:最快,日志缓冲按默认每秒一次地刷到磁盘,但在事务提交时不做操作,mysql崩溃时会丢失最后一秒的事务
          1:最安全,日志缓冲按默认每秒一次地刷到磁盘,并在事务提交时刷新到日志文件,同时调用fsync刷新到磁盘
          2:折中,日志缓冲按默认每秒一次地刷到磁盘,并在事务提交时刷新到日志文件,但不调用fsync,只有在系统崩溃时才会丢失最后一秒的事务
     4、innodb_force_recovery(静态,默认为0),用于从损坏的DB转储数据
0:表示当需要恢复时执行所有的恢复操作(即校验数据页/purge undo/insert buffer merge/rolling back&forward).当不能进行有效的恢复操作时,mysql有可能无法启动,并记录下错误日志.
1.(SRV_FORCE_IGNORE_CORRUPT):     忽略检查到的corrupt页.
2.(SRV_FORCE_NO_BACKGROUND):    阻止主线程的运行,如主线程需要执行full purge操作,会导致crash.
3.(SRV_FORCE_NO_TRX_UNDO):    不执行事务回滚操作.
4.(SRV_FORCE_NO_IBUF_MERGE):    不执行插入缓冲的合并操作.
5.(SRV_FORCE_NO_UNDO_LOG_SCAN):    不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交.
6.(SRV_FORCE_NO_LOG_REDO):    不执行前滚的操作.
                当设置参数值大于0后,可以对表进行select、create、drop操作,但insert、update、delete这类操作是不允许的
     5、innodb_lock_wait_timeout
               InnoDB事务在回滚之前可以等待一个锁定的秒数
     6、innodb_max_dirty_pages_pct
               InnoDB中的主线程试着从缓冲池写页面,使得脏页的百分比不超过这个值。
          在show innodb status的log段中,可以查看Last checkpoint at与Log flushed up to的距离判断当前脏页的情况
          在BUFFER POOL AND MEMORY中,查看Modified db pages与Buffer pool size的比例关系,该值约等于innodb_max_dirty_pages_pct
          
show innodb status\G;


LOG
---
Log sequence number 16 881655880
Log flushed up to   16 881649862
Last checkpoint at  16 546135914
可以看到检查点与log sequence number,Log flushed up to都有相当大的差距。

----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 19338953832; in additional pool allocated 13600768
Buffer pool size   1048576
Free buffers       17666
Database pages     1009478
Modified db pages  204553


               修改的页占到整个数据库buffer pool页将近20%,大小为204553*16k/1024=3.196G
     7、innodb_max_purge_lag
     8、innodb_mirrored_log_groups(默认为1,没有镜像)
               为数据库保持的日志组内同样拷贝的数量。
     9、innodb_open_files
在InnoDB中,这个选项仅与你使用多表空间时有关。它指定InnoDB一次可以保持打开的.ibd文件的最大数目。最小值是10。 默认值300。
对.ibd文件的文件描述符是仅对InnoDB的。它们独立于那些由--open-files-limit服务器选项指定的描述符,且不影响表缓存的操作。


innodb_thread_concurrency
InnoDB试着在InnoDB内保持操作系统线程的数量少于或等于这个参数给出的限制。如果有性能问题,并
且SHOW INNODB STATUS显示许多线程在等待信号,可以让线程“thrashing” ,并且设置这个参数更小或更
大。如果你的计算机有多个处理器和磁盘,你可以试着这个值更大以更好地利用计算机的资源。一个推荐的值
是系统上处理器和磁盘的个数之和。值为500或比500大会禁止 调用并发检查。默认值是20,并且如果设置大
于或等于20,并发检查将被禁止。
·   innodb_status_file
这个选项让InnoDB为周期的SHOW INNODB STATUS输出创建一个文件/innodb_status.

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL InnoDB常见参数详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

解密AJAX参数:详解常见参数及其功能

AJAX参数大揭秘:详解常用参数及其作用,需要具体代码示例在现代Web开发中,AJAX(Asynchronous JavaScript and XML)已经成为了不可或缺的一部分。它通过JavaScript和XML(现在通常是JSON)的
解密AJAX参数:详解常见参数及其功能
2024-01-26

MySQL Innodb行格式详解

目录1、指定行格式的语法2、COMPACT行格式2.1 变长字段长度列表2.2 NULL值列表2.3 记录头信息2.4 记录真实数据2.5 分析Compact行记录的内部结构3、Dynamic和Compressed行格式3.1 行溢出3.2
MySQL Innodb行格式详解
2024-09-11

Mysql explain 各参数详解

id序号select_typesimple:即简单select 查询,不包含union及子查询;primary:最外层的 select 查询;union:表示此查询是 union 的第二或随后的查询;dependentunion:union 中的第二个或后面的
Mysql explain 各参数详解
2016-04-15

nginx 常见参数以及重定向参数配置

nginx 各参数翻译,作用$arg_PARAMETER #这个变量包含GET请求中,如果有变量PARAMETER时的值。$args #这个变量等于请求行中(GET请求)的参数,例如foo=123&bar=blahblah;$binary_
2023-06-05

spring @Transactional注解中常用参数详解

Spring@Transactional注解详解该注解用于管理事务,其常用参数包括:Isolation:隔离级别,指定并发访问数据时的事务行为。Propagation:传播行为,定义事务在当前上下文中如何执行。Timeout:超时时间,以秒为单位,超过则回滚事务。RollbackFor:回滚条件,指定引发事务回滚的异常。NoRollbackFor:不回滚条件,指定不会触发回滚的异常。ReadOnly:指定事务是否为只读,只读事务不会修改数据库。Value:简化Propagation属性的设置。
spring @Transactional注解中常用参数详解
2024-04-02

详解MySQL InnoDB的索引扩展

索引扩展,InnoDB通过将主键列附加到每个辅助索引中来自动扩展该索引。创建如下表结构:mysql> CREATE TABLE t1 (-> i1 INT NOT NULL DEFAULT 0,-> i2 INT NOT NULL DEFA
2022-05-13

PHP参数传递失败的常见解决方案

PHP参数传递失败是开发过程中常见的问题,在编写程序时如果出现参数无法正确传递的情况,将会影响程序的正常运行。本文将探讨PHP参数传递失败的常见原因和解决方案,并提供具体的代码示例帮助读者更好地理解和解决这一问题。1. 参数传递失败原因分
PHP参数传递失败的常见解决方案
2024-03-10

编程热搜

目录