一、日志分类:
1.1、redo log(事务日志):
作用:确保日志的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行redo log执行重做,达到事务一致性(redo log是InnoDB层,只有innodb实现了ACID)
1.1.1、文件位置:是数据文件目录的ib_logfile0\ib_logfile1两个文件

1.1.2、设置redolog文件个数、分配空间:

1.1.3、将redo log buffer中的日志信息刷新到redo log file:
select @@innodb_flush_log_at_trx_commit;

刷盘策略总结:
策略 0:表示每次事务提交时不进行刷盘操作,系统默认master thread每个1s进行一次重做日志的同步;
策略 1:表示每次事务提交时将进行刷盘操作;(属于默认配置)
策略 2:表示每次事务提交时只是把redo log buffer写入到page cache,不进行同步,由OS自己决定什么时候同步到磁盘文件;
1.2、undo log(回滚日志):
作用:保证数据的原子性,记录事务发生之前的一个版本,用于回滚,innodb事务可重复读和读取已提交 隔离级别就是通过mvcc+undo实现;(解释:就是会记录变化前的lsn号码和txid)
1.3、error log 错误日志:
作用:Mysql本身启动,停止,运行期间发生的错误信息
1.4、slow query log 慢查询日志:
作用1:记录执行时间过长的sql,时间阈值(10s)可以配置,只记录执行成功提醒优化。
1.4.1、如何设置慢查询:
194



被折叠的 条评论
为什么被折叠?



