MySQL InnoDB常见参数详解

  一、文件(数据文件,日志文件)
  ,,,1,相关参数:
  ,,,,,innodb_data_home_dir
  ,,,,,innodb_data_file_path=file_name: file_size [: autoextend[马克斯:max_file_size]]
  
  ,,,注:
  ,,,,,,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(动态,默认为8米)
  ,,,,,当自动扩展表空间被填满之时,为扩展而增加的尺寸(MB为单位)。
  ,,,2,innodb_fast_shutdown(动态,默认为1)
  ,,,,,0:在关闭之前做一个完全净化,插入缓冲合并和刷脏页,最慢,但重启最快
  ,,,,,1:InnoDB在关闭之时跳过清除和插入缓冲合并,只刷脏页
  ,,,,,2:刷新日志并强制关闭,类似崩溃,数据不会丢,但在启动时会做一次崩溃恢复
  ,,,,,mysql在关闭的时候进行的操作:
  ,,,,,,,,1,清洗:删除无用的撤销页
  ,,,,,,,,2,合并插入缓冲
  ,,,,,,,,3,冲洗脏页
  ,,,3,innodb_flush_log_at_trx_commit(动态,默认为1)
  ,,,,,0:最快,日志缓冲按默认每秒一次地刷到磁盘,但在事务提交时不做操作,mysql崩溃时会丢失最后一秒的事务
  ,,,,,1:最安全,日志缓冲按默认每秒一次地刷到磁盘,并在事务提交时刷新到日志文件,同时调用fsync刷新到磁盘
  ,,,,,2:折中、日志缓冲按默认每秒一次地刷到磁盘,并在事务提交时刷新到日志文件,但不调用fsync,只有在系统崩溃时才会丢失最后一秒的事务
  ,,,4,innodb_force_recovery(静态,默认为0),用于从损坏的DB转储数据
  0:表示当需要恢复时执行所有的恢复操作(即校验数据页/清除撤销/插入缓冲合并/滚动back&向前)。当不能进行有效的恢复操作时,mysql有可能无法启动,并记录下错误日志。
  1 . (SRV_FORCE_IGNORE_CORRUPT):,,忽略检查到的腐败的页。
  2 . (SRV_FORCE_NO_BACKGROUND):,,阻止主线程的运行,如主线程需要执行全面清洗操作,会导致崩溃。
  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后,可以对表进行选择、创建、删除操作,但插入、更新、删除这类操作是不允许的
  ,,,5,innodb_lock_wait_timeout
  ,,,,,,,,InnoDB事务在回滚之前可以等待一个锁定的秒数
  ,,6,innodb_max_dirty_pages_pct
  ,,,,,,,,InnoDB中的主线程试着从缓冲池写页面,使得脏页的百分比不超过这个值。
  ,,,,,在显示innodb状态的日志段中,可以查看去年检查站与日志刷新到的距离判断当前脏页的情况
  ,,,,,在缓冲池和内存中,查看修改数据库与页面缓冲池大小的比例关系,该值约等于innodb_max_dirty_pages_pct
  ,,,,,,
  显示innodb状态\ G;
  
  
  日志
  推荐- - - - - -
  日志序列号16 881655880
  日志刷新了,16 881649862
  去年检查点,16 546135914
  可以看到检查点与日志序列号,日志刷新到都有相当大的差距。
  
  - - - - - - - - - - - - - - - - - - - - - - -
  缓冲池和内存
  - - - - - - - - - - - - - - - - - - - - - - -
  总内存分配19338953832;额外的池中分配13600768
  缓冲池大小,1048576
  免费的缓冲区,,,17666年
  数据库页面,,1009478
  修改数据库,204553页
  
  
  ,,,,,,,,修改的页占到整个数据库缓冲池页将近20%,大小为204553 * 16 k/1024=3.196克
  ,,,7日innodb_max_purge_lag
  ,,,8日innodb_mirrored_log_groups(默认为1,没有镜像)
  ,,,,,,,,为数据库保持的日志组内同样拷贝的数量。

MySQL InnoDB常见参数详解