大概有错误日志,查询日志,慢查询日志,事务日志,二进制日志,中继日志
一、错误日志
错误日志默认是开启且无法禁止的,在数据库的数据文件目录,hostname.err文件,可以配置错误的日志存储位置和日志级别。
1.存放服务器启动关闭过程中的信息。(未必是错误)
2.存放运行过程中的错误信息。
3.一旦mysql调度启动一个计划任务的时候,它也会将相关信息记录在错误日志中
4.从服务器启动的日志也会存入错误日志。
二、查询日志
general log(通用日志),记录了数据库执行的所有命令,不论语句是否正确,插入、更新、删除操作都会进行查询操作。
在并发场景下,查询日志可能会非常多,如果都记录下来可能会导致IO压力非常大,所以建议在调试场景下才开启查询日志。
general_log可以控制是否开启,general_log_file控制存放位置。0
三、慢查询日志
慢查询会导致CPU,IOPS,内存消耗过高,开启慢查询日志记录超过指定时间的查询,默认情况下是不开启的,需要手动开启。
四、事务日志
数据库事有缓存存在的,因为每次读写都从物理磁盘操作性能会非常低下,数据库缓存是data buffer,日志(redo)缓存是log buffer。因为有缓存的存在,所以就很难保证缓存数据与磁盘数据的一致性。
为了防止内存中的缓存数据丢失导致数据不一致的问题,InnoDB的事务重做日志redo log和回滚日志undo log。
InnoDB通过force lo