各位大大,小弟在INNODB的log问题上有些疑惑。主要是
1.有了binlog之后,innodb的log作用是什么?如何查看?(我看5.0和5.1手册的意思貌似是说这个日志是没什么用的,E文不精,不敢肯定。但是看到网上很多有关设置INNODB的文章都涉及了它自己的log。所以有些乱。)
2.如果不依靠innodb自己的log文件,那么innodb_flush_log_at_trx_commit参数会影响binlog的写入情况吗?(主要考虑到如果这个参数不影响mysql binlog的话,那么把这参数设置成0,能提升数据库性能。)
google了一下,找不到有关这个的答案。谢谢!

解决方案 »

  1.   

    1.有了binlog之后,innodb的log作用是什么?如何查看?  也就是二进制日志,不只是针对innodb. 这个日志中会记录你所有的更新操作。主要的作用是备份。
    你可以用mysqlbinlog 工具来查看其内容。http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#binary-log
    5.11.3. 二进制日志
    二进制日志以一种更有效的格式,并且是事务安全的方式包含更新日志中可用的所有信息。二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。
    
      

  2.   

    2.如果不依靠innodb自己的log文件,那么innodb_flush_log_at_trx_commit参数会影响binlog的写入情况吗? innodb_flush_log_at_trx_commit 这是参数就确定innodb二进制日志的写入时机。
      

  3.   

    innodb的log
    一种是transaction的log, 和innodb的data文件密不可分, 数据写入时,先写log, 然后再写入data文件, 参数innodb_flush_log_at_trx_commi等都涉及它. 这log文件一搬是2个文件,循环使用.另外还一种log, 叫 archive log, 是将以上的log文件当写满一个时,archive到一个地方,这样形成顺序的log文件,主要用于备份,恢复. 因为mysql使用 binlog进行归档, 所以archive log默认是不使用的.