MySQL - 日志

MySQL中的四种日志包括错误日志、二进制日志、查询日志和慢查询日志。二进制日志(binlog)用于主从复制,记录DDL和DML,但不包括查询语句。日志格式有STATEMENT、ROW和MIXED。查询日志记录所有操作,慢查询日志记录执行时间超过设定值的SQL。日志可通过特定命令删除或设置过期时间。
摘要由CSDN通过智能技术生成

MySQL中有4种不同的日志,分别是错误日志,二进制日志,查询日志,慢查询日志。

错误日志

记录了错误信息,当数据库出现错误时,查看该日志。

二进制日志(binlog)

binlog 记录了所有的DDL(数据定义语言)和DML(数据操纵语言),但是不包括数据查询语句。
binlog对数据恢复有着极其重要的作用,MySQL的主从复制,就是通过binlog实现的。

日志格式

STATEMENT

该日志格式中记录的都是SQL语句,每一条对数据进行修改的SQl都会记录在日志文件中,通过mysql提供的mysqlbinlog工具,可以清晰地查看到每条语句的文本。主从复制时,slave 会将日志解析为原文本,并在slave 重新执行一次。

ROW

该日志在日志文件中记录的是每一条数据的变更,而不是记录SQL语句。

MIXED

默认的日志格式,混合了STATEMENT和ROW两种格式。默认情况下采用STATEMENT,但在一些特殊情况下采用ROW来进行记录。MIXED 格式能尽量利用两种模式的优点,而避开它们的缺点。

日志删除

  • Reset Master,删除所有binglog日志。
  • purge master logs to 'mysqlbin.',该命令将删除编号之前的所有日志。
  • purge master logs brfore ‘yyyy-mm-dd hh24:mi:ss’,该命令将删除 yyyy-mm-dd hh24:mi:ss 之前的所有日志。
  • 设置参数 --expire_logs_days=#,设置日志过期天数。

查询日志

查询日志记录了客户端所有的操作语句,而二进制日志不包含查询数据的SQL语句,默认情况下未开启。

慢查询日志

慢查询日志记录了所有执行时间超过参数long_query_time 设置值并且扫描记录数不小于 min_examined_row_limit 的所有SQL语句的日志,long_query_time默认是10秒,最小为0,精度可以控制到微秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值