欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答
今天简单介绍下MySQL中有哪些常用的日志和各个日志的功能。
二进制日志:记录SQL的各种变更操作,有Mixed、Statement和ROW 3种格式、不同格式各有优缺点,主要用于复制和数据任意时间点还原。
二进制日志是SERVER引擎层面产生记录的,也就是说甭管你是、InnoDB、MySIAM或是其他引擎都会记录binlog,除非在配置上给关闭了。
错误日志:记录MySQL启动,运行过程,停止中产生的各种错误信息,便于排查故障。
慢日志:记录所有执行时间超过long_query_time(单位秒)和没有使用到索引的SQL语句。
一般通用日志:详细记录建立的客户端连接信息和执行的所有SQL语句,假如你不知道哪个业务是否有使用,或某个请求来自哪里,可以把general log 开起来就比较容易查询。
中继日志:主从同步过程中,从节点产生的转储日志,用于从节点应用恢复。
重做日志:InnoDB层产生的,记录物理数据页修改的信息,有效减少事务提交刷盘的频次降低IO压力,redo log 保证了数据库的crash-safe能力,同时与在线热备份息息相关。
回滚日志:记录数据发生变更前的信息,主要用于回滚,同时提供多版本并发控制下的快照读功能。
更多信息可以查看官网说明
https://dev.mysql.com/doc/refman/8.0/en/
Enjoy GreatSQL :)