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

    依然超过8万字符,继续写一篇。晕~~~~~~
 
         innodb_flush_method
         这个选项只在 Unix 系统上有效。如果这个选项被设置为 fdatasync (默认值), InnoDB 使用 fsync() 来刷新数据和日志文件。如果被设置为 O_DSYNC InnoDB 使用 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 在它自己的锁定表中自动检测事务死锁并且回滚事务。 InnoDB LOCK TABLES 语句注意到锁定设置。默认值是 50 秒。
         为在一个复制建立中最大可能的持久程度和连贯性,你应该在主服务器上的 my.cnf 文件里使用 innodb_flush_log_at_trx_commit=1 sync-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 用来往磁盘上的日志文件写操作的缓冲区的大小。明智的值是从 1MB 8MB 。默认的是 1MB 。一个大的日志缓冲允许大型事务运行而不需要在事务提交之前往磁盘写日志。因此,如果你有大型事务,使日志缓冲区更大以节约磁盘 I/O
 
         innodb_log_file_size
         在日志组里每个日志文件的大小。在 32 位计算机上日志文件的合并大小必须少于 4GB 。默认是 5MB 。明智的值从 1MB N 分之一缓冲池大小,其中 N 是组里日志文件的数目。值越大,在缓冲池越少需要检查点刷新行为,以节约磁盘 I/O 。但更大的日志文件也意味这在崩溃时恢复得更慢。
 
         innodb_log_files_in_group
         在日志组里日志文件的数目。 InnoDB 以循环方式写进文件。默认是 2 (推荐)。
 
         innodb_log_group_home_dir
         InnoDB 日志文件的目录路径。它必须有和 innodb_log_arch_dir 一样的值。如果你不指定任何 InnoDB 日志参数,默认的是在 MySQL 数据目录里创建两个 5MB 大小名为 ib_logfile0 ib_logfile1 的文件。
 
         innodb_max_dirty_pages_pct
         这是一个范围从 0 100 的整数。默认是 90 InnoDB 中的主线程试着从缓冲池写页面,使得脏页(没有被写的页面)的百分比不超过这个值。如果你有 SUPER 权限,这个百分比可以在服务器运行时按下面来改变:
SET GLOBAL innodb_max_dirty_pages_pct = value;
 
         innodb_max_purge_lag
         这个选项控制在净化操作被滞后之时,如何延迟 INSERT, UPDATE DELETE 操作。这个参数的默认值是零,意为无延迟。这个选项可以在运行时作为全局系统变量而被改变。
 
         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 并不关心,你可以通过设置这个选项为 OFF 0 来禁止这个变量,以减少磁盘刷新的次数并获得更好的 InnoDB 性能。
 
         innodb_table_locks
         InnoDB 重视 LOCK TABLES ,直到所有其它线程已经释放他们所有对表的锁定, MySQL 才从 LOCK TABLE .. WRITE 返回。默认值是 1 ,这意为 LOCK TABLES InnoDB 内部锁定一个表。在使用 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>

你可能感兴趣的:(数据库,mysql,InnoDB,简介,休闲)