数据库技术栈 ——MySQL日志详解
官网有对这些日志做详细的描述,无用的重复话语我就不多加描述了,以后有遇到这些日志的一些重要特性再做补充。
参考文章或视频链接 |
---|
[1] 官方文档,重点查阅 MySQL Server Logs - MySQL |
[2] 《MYSQL数据库日志》- CSDN |
一、Error log 错误日志
正如其名字,用来记录一些错误
二、General query log 通用查询日志
这个记录的是,建立客户端连接的情况,以及从客户端发来的sql语句。
二、参考文章或视频链接 |
---|
[1] 《图文结合带你搞懂MySQL日志之General Query Log(通用查询日志)》- 知乎 |
三、Binary log 二进制日志
Statements that change data (also used for replication)
。记录那些改变了数据的sql,同时也可以用来进行MySQL集群中的Master与Slave节点的同步。
binlog我比较了解,曾经做过一个修改binlog日志的玩具项目,这个文件的记录格式有三种模式。
- row-based(default)。只记录修改的数据与位置。
- statement-based。记录修改数据的sql语句。
- mixed。上面两种混合着来,但倾向于statement-based模式,在涉及一些特殊的操作,如非确定性函数和存储过程等,则使用 row-based 模式记录修改的行记录。
四、Relay log 中继日志
与binlog搭配使用,一般就是用来同步数据用的,Master节点的变更会在其服务器环境中产生binlog文件,Slave用I/O线程去读取然后本地同步一份relay log文件。
四、参考文章或视频链接 |
---|
[1] 《MySQL的日志 - relay log》- CSDN |
五、Slow query log 慢查询日志
记录哪些SQL查询慢到超过指定时间。
六、DDL log (metadata log)
记录哪些语句做了表结构的更改。