redo log:
1、用来实现灾难恢复、突然断电会导致innodb表空间(table space)中的数据
没有及时更新到磁盘上面。。可以通过执行redo log来恢复这些数据。
2、提升innodb的i/o性能。innodb把数据、索引先放到内存的缓存池buffer pool。
如果每次修改数据、索引都同步到磁盘。会加大io请求。
innodb_log_buffer_size 缓存大小。
innodb_log_buffer_size (global)
这是 InnoDB 存储引擎的事务日志所使用的缓冲区。类似于 Binlog 。为了提高性能,也是先将日志信息写入 Innofb Log Buffer 中,
当满足 innodb_flush_log_trx_commit 参数所设置的相应条件(或者日志缓冲区写满)之后,
才会将日志写到文件(或者同步到磁盘)中。可以通过 innodb_log_buffer_size 参数设置其可以使用的最大内存空间。
注:innodb_flush_log_trx_commit 参数对 InnoDB Log 的写入性能有非常关键的影响。该参数可以设置为0,1,2,解释如下:
0:log buffer中的数据将以每秒一次的频率写入到log file中,且同时会进行文件系统到磁盘的同步操作,
但是每个事务的commit并不会触发任何log buffer 到log file的刷新或者文件系统到磁盘的刷新操作;
1:在每次事务提交的时候将log buffer 中的数据都会写入到log file,同时也会触发文件系统到磁盘的同步;
2:事务提交会触发log buffer 到log file的刷新,但并不会触发磁盘文件系统到磁盘的同步。此外,每秒会有一次文件系统到磁盘同步操作。
innodb_log_file_size 文件大小
innodb_log_files_in_group 几个文件
innodb_log_group_home_dir 目录
innodb_flush_log_at_trx_commit 提交类型
innodb_os_log_written 多少字节
innodb_os_log_fsyncs 多少次
innodb-log-buffer-size=10485760
innodb-log-files-in-group=2
default-storage-engine=INNODB
注意:数据文件ib_logfile的大小、数量、目录。直接修改/etc/my.cnf是不可以的。
innodb_log_file_size
innodb_log_files_in_group
innodb_log_group_home_dir
实验:增加log日志文件、大小。
1、必须干净的关闭mysql
2、vim /etc/my.cnf
innodb-log-files-in-group=4
innodb_log_file_size=10485760
3、mv ib_logfile* /temp
4、启动mysql
5、查看错误日志。没有报错。
实验:修改redo log文件的路径。innodb_log_group_home_dir
1、干净关闭mysql
2、vim /etc/my.cnf
3、mv
4、启动
5、cat 错误日志
本文出自 “老蔡” 博客,请务必保留此出处http://877763363.blog.51cto.com/1200927/1671683
原文地址:http://877763363.blog.51cto.com/1200927/1671683