数据库的日志种类有:redo_log,undo_log,binlog,rely_log,error_log,slow_query_log,general_log;
redo_log:重做日志,保证了事务的持久性,一般事务开启的时候,重做日志也启动了,持久化的三种方式分别为:1.每一秒进行持久化;
2.每一次commit的时候进行持久化;3.默认的为占用剩余内存空间一半的时候自动持久化;
undo_log:回滚日志,保证了事务的原子性和隔离性,在事务执行失败或者回滚的时候,就会启动该日志,进行相反的sql操作,如开始的
insert就变成delete,delete就变为insert,update就执行相反的update;
binlog:二进制日志,两种使用场景;第一种的作用类似于redo_log,但是需要每次commit的时候才会进行持久化;第二种是在主从同
步中使用到的,在主从同步中,从库复制的是主库的二进制日志binlog文件;
rely_log:中继日志,使用场景就是主从同步中的,从库复制的主库的二进制日志文件到从库本身的中继日志中,再将中继日志文件复制
到自身的从库当中;
error_log: 错误日志,开启后可以查询sql执行错误的日志;
slow_query_log: 慢查询日志,开启之后,可以查询sql中执行性能较低的语句;
general_log: 一般查询日志,默认是关闭状态,主动开启之后,将会记录的所有sql操作记录,比较占用内存,性能较差,看情况决定;