14.7.1 Resizing the InnoDB System Tablespace InnoDB 系统表空间大小 这个章节描述如何增加或者减少 InnoDB 系统表空间的大小 增加InnoDB 系统表空间的大小 最初的方式增加InnoDB 系统表空间的大小是配置他从开始就自动扩展. 指定autoextend 属性 对于最后的数据文件在表空间定义时. InnoDB 自动的增加大小 增量为64MB 当它超出时. 增量大小可以通过 the innodb_autoextend_increment…
14.5.1 Resizing the InnoDB System Tablespace 本节描述如何增加或者减少InnoDB 系统表空间的大小 增加InnoDB 系统表空间的大小 最简单的方式增加InnoDB 系统表空间的大小是配置它从一开始就自动增长. 指定最后数据文件在表空间定义的自动增长属性, InnoDB 自动增加文件的大小 64MB增加 当它空间不足的时候. 增加的空间可以修改通过innodb_autoextend_increment 系统变量, 单位MB mysql> show v…
14.4.5 System Tablespace 系统表空间 InnoDB 系统表空间包含InnoDB 数据目录(元数据 用于InnoDB相关对象)和是存储区域用于doublewrite buffer, the change buffer, and undo logs. 系统表空间也包含表和索引数据用于任何用户创建的表,创建在系统表空间. 系统表空间是被认为一个共享的表空间 因为它是被多个表共享 系统表空间是有1个或者多个数据文件组成,默认的, 一个系统数据文件 叫做ibdata1 jrhdpt…
14.6.7?Limits on InnoDB Tables InnoDB 表的限制 警告: 不要把MySQL system tables 从MyISAM 到InnoDB 表. 这是不支持的操作,如果你这么做,MySQL 不重启直到你恢复老的system tables从一个备份或者再生通过初始化数据目录. 这不是好的注意配置InnoDB 使用 data files或者log files 在NFS 文件系统, 否则, 文件可能被其他进程锁定和变的不可用: 最大值和最小值: 1. 一个表可以包含最大…
System Tablespace 数据文件配置: mysql> show variables like '%innodb_data_file_path%'; +-----------------------+------------------------+ | Variable_name | Value | +-----------------------+------------------------+ | innodb_data_file_path | ibdata1:12M:auto…
14.6.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB 主线程IO 速率: 主线程 在InnoDB 是一个线程 执行各种任务在后台. 很多这些任务是I/O相关的, 比如flush dirty pages 从buffer pool或者写changes 从insert buffer 到相应的 secondary indexes. 主要的thread 尝试执行那些任务 不影响正常的服务器的工作. 它尝试创建可用的空闲的I/O 和调整它的…
14.6.3.5 Configuring InnoDB Buffer Pool Flushing InnoDB 执行某些任务在后台, 包括脏叶的刷新(那些已经发生改变的pages 但是没有写入到数据文件)从buffer pool InnoDB 开始刷新buffer pool pages 当脏叶的比例在buffer pool 达到 低水位设置通过innodb_max_dirty_pages_pct_lwm设置 这个选项是控制 脏页的比例在buffer pool,防止 脏叶的比例超过 innodb_…
14.6.3.4 Configuring InnoDB Buffer Pool Prefetching (Read-Ahead) 配置InnoDB Buffer pool 预取 一个预读请求是一个I/O 请求异步预取多个pages到buffer pool. 预估那些Pages 马上会被需要. 请求把所有的Pages 到一个extent. InnoDB 使用2种预读算法来改善I/O性能 线性的预读是一种技术是预测哪个page 可能马上被需要在buffer pool中被顺序访问的pages. 你控制…
14.6.3.1 The InnoDB Buffer Pool InnoDB 保持一个存储区域被称为buffer pool 用于cache数据和索引在内存里, 知道InnoDB buffer pool 如何工作,利用它来保持频繁访问的数据在内存里, 是MYSQL 调优的一个重要方面. 你可以配置InnoDB buffer pool的各个方面来改善性能: 理想情况下,你设置buffer pool的大小为实际最大值, 留下足够的内存用于其他进程在服务器上运行而没有产生分页. buffer pool越…
14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例 下面的例子演示了一个错误可以发生当一个lock 请求会导致一个死锁,例子设计2个客户端,A和B: Jekins:/root# mysql -uroot -p1234567 -e"SHOW ENGINE INNODB STATUS\G;" | grep -i dead Warning: Using a password on the command line interface can b…