全面了解Mysql(四)日志

  1. 错误日志
    使用命令SHOW VARIABLES LIKE ‘LOG_ERROR’ \G 可以查看错误日志的位置,当数据库宕机,不能正常使用时,首先应该查看该日志,其中也会存在一些警告,用户也可以通过该文件进行优化
  2. 二进制日志
    记录了mysql数据库所有更改操作,不包括查询,通过配置参数log-bin来开启二进制日志,注意配合的server-id=1(该值是服务id),不然启动不了,使用命令SHOW MASTER STATUS \G 来查看bin文件位置
    在这里插入图片描述
    然后使用 SHOW BINLOG EVENTS IN ‘localhost-bin.000001’ \G查看事件
    在这里插入图片描述
    通过该日志,我们可以查看修改操,和修改操作用时,这些文件主要作用是恢复,当数据库恢复后,可能有些操作未能恢复,可以使用该文件恢复。进行多台数据库实时同步,可以通过该日志分析数据库是否进行了注入攻击。
    相关的参数有:
    max_binlog_size单个二进制日志文件最大值
    binlog_cache_size二进制日志缓冲大小
    sync_binlog写几次缓冲同步到磁盘
    binlog-do-db写入哪些库的日志
    binlog-ignore-db忽略哪些库的日志
    log-slave-update当时slave时配置它可以将日志写入自己的日志文件中
    binlog_format记录二进制日志格式
    如果要查看二进制日志内容,必须记住mysql提供的工具mysqlbinlog。
  3. 慢查询日志
    使用下面的参数配置开启慢查询 slow_query_log = 1
    slow-query-log-file = log.log
    long_query_time = 10
    注意大多数人开启慢查询日志时都是失败的Errcode: 13 - Permission denied,通过show variables like ‘%slow_query_log%’;可以查看log是否开启,如果没有,set global slow_query_log=1;报错的话多半是selinux问题,需要设置vi /etc/selinux/config,将SELINUX项改成:SELINUX=disabled,需要重启电脑,临时的办法是 setenforce 0,在执行刚刚的set global slow_query_log=1就可以开启慢查询。
    命令show global status like ‘%slow_queries%’;可以查看慢查询条数
    在这里插入图片描述
    命令set global log_output=‘table’;可以修改输出到文件为输出到表
    select * from mysql.slow_log \G查询该表记录
    在这里插入图片描述
  4. 查询日志
    使用general_log配置日志开关
    使用命令show variables like ‘%general_log_file%’;查看日志位置
    在这里插入图片描述
    mysql所有查询日志都会在这,不管成功不成功。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值