mysql哪种日志不可以cat,MySQL日志类型

很多人都会有这样的疑问,究竟MySQL有多少种类型的日志文件呢?每个日志类型文件作用又是什么?它们之间又有什么区别?我们应该如何选择使用哪一种日志类型呢?

MySQL数据库共有六种类型的日志:Error Log、General Query Log、Binary Log、Relay Log、Slow Query Log 和DDL Log(metadata log)

a9aabc5a2fb28c94d936c5bc40b1e1d9.png

下面我们一起来看看上面所讲的日志类型的文件存储位置以及日志内容:

Error Log:错误日志,主要是记录 mysqld 发生的一些错误;从下面我们可以看到部分 Error Log 内容、mysqld.log文件中记录了MySQL的启动停止等信息;当数据库无法启动或者启动异常的时候我们可以根据 mysqld.log 的日志信息来判断具体错误。

General Query Log:mysql通用查询日志,记录 mysqld 正在做的事情,如客户端的连接和断开、来自客户端每条 Sql Statement 记录信息;如果你想准确知道客户端究竟传了什么内容给服务端,这个日志就非常管用了,当然了这货是非常影响性能的。

Binary Log:简称 bin-log 即 mysql二进制日志文件,这个文件记录了mysql所有的 DML 操作。通过 Bin-log 日志我们可以做数据恢复,做主主复制和主从复制等等。对于开发者可能对 Bin-log 并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。简而言之,Bin-log 两个重要的用途:复制和恢复,很多十分好用的 MySQL 体验比如说增量备份,回滚至指定时间以及上面提到的主主和主从等等都依赖于 Bin-log。

Binary Log 日志为二进制文件、不能用直接进行查看;MySQL提供了一个叫做mysqlbinlog的工具可以查看 Binary Log 日志文件。

注:如果MySQL重启之后、会把原有的日志文件截断并生成一个新的日志文件(执行 flush logs 也会截断);reset master命令千万不要使用、使用了此命令会删除所有的binlog日志文件。但是我们可以使用下面的命令删除部分日志(还是建议不要删除):

Relay Log:从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器。

Slow Query Log :mysql慢查询日志,记录一些查询执行较慢的 SQL 语句,这个日志非常常用,主要是给开发者调优用的。

DDL Log(metadata log):DDL日志或元数据日志记录由数据定义语句(如DROP TABLE和ALTER TABLE) 生成的元数据操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值