MySQL的InnoDB优化举例

日期: 2010-05-20 来源:TechTarget中国

  硬件环境:双核单CPU,2G内存

  innodb_buffer_pool_size=1024M—————–InnoDB使用一个缓冲池来保存索引和原始数据,你可以设置这个变量到服务器物理内存大小的80%

  innodb_additional_mem_pool_size=16M————–用来存放Innodb的内部目录,通常比较大数据设置16M够用了,如果表比较多,可以适当的增大。

  innodb_log_files_in_group=3—————–在日志组中的文件总数

  innodb_log_file_size=150M—————-在日志组中每个日志文件的大小.,你应该设置日志文件总合大小到你缓冲池大小的25%~100%

  innodb_log_buffer_size=8M————用来缓冲日志数据的缓冲区的大小

  innodb_lock_wait_timeout=50——————在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久

  innodb_data_home_dir = /usr/local/mysql/var/——————- InnoDB主目录,所有与InnoDB数据表有关的目录或文件路径都相对于这个路径。在默认的情况下,这个主目录就是MySQL的数据目录。

  innodb_data_file_path = ibdata1:10M:autoextend—————用来容纳InnoDB为数据表的表空间

  innodb_log_group_home_dir = /usr/local/mysql/var/——————-用来存放InnoDB日志文件的目录路径(如 ib_logfile0、ib_logfile1等)。在默认的情况下,InnoDB驱动程序将使用MySQL数据目录作为自己保存日志文件的位置。

  innodb_flush_log_at_trx_commit=1————— 如果设置为1 ,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上,这提供了完整的ACID行为.如果你愿意对事务安全折衷, 并且你正在运行一个小的事务, 你可以设置此值到0或者2来减少由事务日志引起的磁盘I/O,0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘. 2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上.

  停掉数据库然后删除数据库目录/usr/local/mysql/var目录下的ib_logfile0和ib_loggile1 或者执行flush logs指令后 才能设置innodb_log_file_size否则数据库无法启动

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐