Mysql数据库的使用总结之Innodb简介(三)

    依然超过8万字符,继续写一篇。晕~~~~~~
 
·         innodb_flush_method
         这个选项只在Unix系统上有效。若是这个选项被设置为fdatasync (默认值),InnoDB使用fsync()来刷新数据和日志文件。若是被设置为O_DSYNCInnoDB使用O_SYNC来打开并刷新日志文件,但使用fsync()来刷新数据文件。若是O_DIRECT被指定了(在一些GNU/Linux版本商可用),InnoDB使用O_DIRECT来打开数据文件,并使用fsync()来刷新数据和日志文件。注意,InnoDB使用fsync()来替代fdatasync(),而且它默认不使用O_DSYNC,由于这个值在许多Unix变种上已经发生问题。
 
         innodb_force_recovery
    警告:这个选项仅在一个紧急状况下被定义,当时你想要从损坏的数据库转储表。可能的值为从16。做为一个安全措施,当这个选项值大于零之时,InnoDB阻止用户修改数据。
 
         innodb_lock_wait_timeout
         InnoDB事务在被回滚以前能够等待一个锁定的超时秒数。InnoDB在它本身的锁定表中自动检测事务死锁而且回滚事务。InnoDBLOCK TABLES语句注意到锁定设置。默认值是50秒。
         为在一个复制创建中最大可能的持久程度和连贯性,你应该在主服务器上的my.cnf文件里使用innodb_flush_log_at_trx_commit=1sync-binlog=1
 
         innodb_locks_unsafe_for_binlog
         这个选项在InnoDB搜索和索引扫描中关闭下一键锁定。这个选项的默认值是假(false)。
 
        innodb_log_arch_dir
若是咱们使用日志档案,被完整写入的日志文件所在的目录也被归档。这个参数值若是被使用了,应该被设置得与innodb_log_group_home_dir同样。尽管如此,它不是必需的。
 
         innodb_log_archive
         这个值当前被设为0。由于MySQL使用它本身的日志文件从备份来恢复,因此当前没有必要来归档InnoDB日志文件。这个选项的默认值是0
 
         innodb_log_buffer_size
         InnoDB用来往磁盘上的日志文件写操做的缓冲区的大小。明智的值是从1MB8MB。默认的是1MB。一个大的日志缓冲容许大型事务运行而不须要在事务提交以前往磁盘写日志。所以,若是你有大型事务,使日志缓冲区更大以节约磁盘I/O
 
         innodb_log_file_size
         在日志组里每一个日志文件的大小。在32位计算机上日志文件的合并大小必须少于4GB。默认是5MB。明智的值从1MBN分之一缓冲池大小,其中N是组里日志文件的数目。值越大,在缓冲池越少须要检查点刷新行为,以节约磁盘I/O。但更大的日志文件也意味这在崩溃时恢复得更慢。
 
         innodb_log_files_in_group
         在日志组里日志文件的数目。InnoDB以循环方式写进文件。默认是2(推荐)。
 
         innodb_log_group_home_dir
         InnoDB日志文件的目录路径。它必须有和innodb_log_arch_dir同样的值。若是你不指定任何InnoDB日志参数,默认的是在MySQL数据目录里建立两个5MB大小名为ib_logfile0ib_logfile1的文件。
 
         innodb_max_dirty_pages_pct
         这是一个范围从0100的整数。默认是90InnoDB中的主线程试着从缓冲池写页面,使得脏页(没有被写的页面)的百分比不超过这个值。若是你有SUPER权限,这个百分比能够在服务器运行时按下面来改变:
SET GLOBAL innodb_max_dirty_pages_pct = value;
 
         innodb_max_purge_lag
         这个选项控制在净化操做被滞后之时,如何延迟INSERT, UPDATEDELETE操做。这个参数的默认值是零,意为无延迟。这个选项能够在运行时做为全局系统变量而被改变。
 
         innodb_mirrored_log_groups
         咱们为数据库保持的日志组内一样拷贝的数量。当前这个值应该被设为1
 
         innodb_open_files
         InnoDB中,这个选项仅与你使用多表空间时有关。它指定InnoDB一次能够保持打开的.ibd文件的最大数目。最小值是10。默认值300
         .ibd文件的文件描述符是仅对InnoDB的。它们独立于那些由--open-files-limit服务器选项指定的描述符,且不影响表缓存的操做。
 
         innodb_status_file
         这个选项让InnoDB为周期的SHOW INNODB STATUS输出建立一个文件<datadir>/innodb_status.<pid>
 
         innodb_support_xa
         当被设置为ON或者1(默认地),这个变量容许InnoDB支持在XA事务中的双向提交。容许innodb_support_xa致使一个额外的对事务准备的磁盘刷新。若是你对使用XA并不关心,你能够经过设置这个选项为OFF0来禁止这个变量,以减小磁盘刷新的次数并得到更好的InnoDB性能。
 
         innodb_table_locks
         InnoDB重视LOCK TABLES,直到全部其它线程已经释放他们全部对表的锁定,MySQL才从LOCK TABLE .. WRITE返回。默认值是1,这意为LOCK TABLESInnoDB内部锁定一个表。在使用AUTOCOMMIT=1的应用里,InnoDB的内部表锁定会致使死锁。你能够在my.cnf文件(Windows上是my.ini文件)里设置innodb_table_locks=0 来消除这个问题。
 
         innodb_thread_concurrency
         InnoDB试着在InnoDB内保持操做系统线程的数量少于或等于这个参数给出的限制。若是有性能问题,而且SHOW INNODB STATUS显示许多线程在等待信号,可让线程“thrashing ,而且设置这个参数更小或更大。若是你的计算机有多个处理器和磁盘,你能够试着这个值更大以更好地利用计算机的资源。一个推荐的值是系统上处理器和磁盘的个数之和。值为500或比500大会禁止调用并发检查。默认值是20,而且若是设置大于或等于20,并发检查将被禁止。
 
         innodb_status_file
         这个选项让InnoDB为周期的SHOW INNODB STATUS输出建立一个文件<datadir>/innodb_status.<pid>
相关文章
相关标签/搜索