事務性引擎依靠事務日志保證ACID (原子性,一致性,隔離性,持久性)
因此事務日志,最主要是保證事務可靠性的
事務日志工作原理:
事務日志的每一行都是一條信息,一般記錄事務ID號,用於記錄哪個事務產生的ID信息,其次,他影響了哪個庫的哪個表,再次他原始數據,和新的數據。一般對於刪除表的操作drop table 事務是恢復不了的
與事務日志相關的服務器變量:
使用SHOW GLOBAL VARIABLES LIKE '%log%'; 查看。在mysql上面支持事務的只有InnoDB引擎。因此跟事務日志相關的都是innodb

innodb_flush_log_at_trx_commit :將內存中的日志事件,同步到日志文件中的行為,后面的 1 表示當有事務提交就會往磁盤寫一次,並刷新。2表示每次事務提交,但是不執行磁盤刷新(性能最好,但是數據安全難以保障)。 0表示每一秒同步一次,並執行磁盤刷新
innodb_log_buffer_size: 內存緩沖區大小
innodb_log_file_size: 事務日志文件大小
innodb_log_file_in_group: 事務日志組,一般事務日志組文件里面的事務日志有兩個
innodb_log_group_home_dir:表示日志組存放數據 ./ 表示數據目錄
事務日志組的事務日志一般都叫做 ib_logfile0
ib_logfile1 這就是innodb事務日志文件
innodb_mirrored_log_groups :日志是否做鏡像
事務日志應不應該和數據放在同一塊磁盤上?
可以放在同一塊磁盤,也可以分開存放,建議給事務日志做鏡像
事務日志是確保數據安裝的重要組件,我們無法手動操作事務日志,是由mysql存儲引擎innodb自己操作的