MySQL 日志

日志简介

MySQL日志分为四类:

  1. 二进制日志
  2. 错误日志
  3. 查询日志
  4. 慢查询日志
    默认情况下所有的日志都是在MySQL目录中,启动日志功能会降低MySQL的性能,比如,在查询非常频繁的数据库中开启了查询日志,和慢查询日志,MySQL数据库会花费很多时间记录日志,日志还会占用大量空间

二进制日志

二进制日志主要是记录MySQL数据库的变化,,二进制包含了所有更新了数据或者潜在跟新了数据,二进制包含了每个更新数据库语句的执行时间信息,但是不包含没有修改任何数据的语句,二进制日志的目的是最大可能的恢复数据库

  1. 启动二进制日志
    修改配置文件如下图,默认MySQL配置文件在 /etc/mysql/mysql.conf.d/mysql.conf windows的是 my.ini
    把log_bin 和 server-id 打开就行
    在这里插入图片描述
    expire_logs_days 清除过期日志时间
    max_binlog_size 单个文件大小限制,,如果二进制日志写入的内容大小超过给定值,日志就会回滚

  2. show variables like ‘log_%’
    查看日志变量
    可以看到开启成功了
    在这里插入图片描述

在这里插入图片描述
上图中 mysql-bin.index 里面是所有日志文件的清单,
mysq-bin.000001 和 mysq-bin.000002 是 产生的日志文件

删除二进制日志文件
  1. 使用 reset master
    删除所有二进制文件,从000001开始编号
    在这里插入图片描述

  2. 使用 purge master logs to “binlog.000003”
    这条面命令将会删除 编号03之前的日志

  3. purge master logs before “20160130”
    将会删除2016.1.30 日之前创建的日志

show binary logs查看二进制日志
在这里插入图片描述

使用二进制恢复数据库

mysqlbinlog --stop-date=“2016-01-03”
将会把数据库到2016.1.30 日之前的数据恢复

暂时停止二进制功能

  • 暂停
    set sql_log_bin = 0
  • 恢复
    set sql_log_bin = 1

错误日志

错误日志包含了MySQL启动时和停止时的信息,还有MySQL在运行过程中出现的错误信息

查看错误日志
在这里插入图片描述
在这里插入图片描述

通用查询日志

使用通用查询日志,在mysql.conf中添加log参数
log = path/file.name

慢查询日志

log-slow-queries
long_query_time

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值