[数据库] 数据日志整理
数据库日志文件保存的是各类操作记录,这些操作记录具有幂等性,即同一个操作执行多次结果相同。
这样可以确保在出现故障回放操作记录后能恢复数据。
1.redo日志
记录了innoDB存储引擎的事务日志,以用于数据库故障后的恢复,确保数据完整性。
事务commit时,需要等待redo日志写入,完成后方可确认数据已经提交。随后数据库才会选择合适的时间在磁盘上更新数据记录。
2.undo日志
undo log负责把没有提交的事务回滚到事务开始前的状态,不影响已经提交的事务。
其作用是在系统崩溃后清楚没有完成事务的影响。
3.binlog
记录对数据库执行更改的所有操作(即不包括select这些查询操作)。
如果操作可以对数据库产生更改但实际没有造成更改(如update条件没有命中),这次操作也会被记录。
binlog的作用是方便主备节点或集群中的其他节点进行实时数据同步。
4.errorlog
记录mysql启动和运行过程中的错误信息(包括一些警告信息)
5.slow query log(慢查询日志)
mysql默认该日志关闭,如果打开后,可以设定一个阈值,将运行时间超过改值的sql语句记录下来,便于后续优化。