zoukankan      html  css  js  c++  java
  • Mysql日志操作

    • Mysql日志

      mysql的日志类型
      错误日志: -log-err
      记录mysql服务的启动、运行、停止mysql服务时出现的问题
      查询日志: -log
      记录建立的客户端连接和执行的语句
      慢查询日志: -log-slow-queries
      记录所有执行时间超过long_query_time的所有查询或不使用索引的查询
      更新日志: -log-update
      二进制日志: -log-bin
      记录所有更改数据的语句,可以用于数据复制
      1.首先确认你日志是否启用了
      1. mysql>show variables like 'log_%';

      如果启用了,即ON

    2.怎样知道当前的日志

    1. mysql> show master status;

    3.看二进制日志文件用mysqlbinlog

    1. shell>mysqlbinlog mail-bin.000001
    如何开启二进制查询?

    默认情况下,二进制日志是关闭的,可以通过修改mysql的配置文件来启动和设置二进制日志:
    my.cnf中[mysqld]组下面有几个设置是关于二进制日志的:

    1. log-bin[=PATH/[FILENAME]]
    2. expire_logs_days=10
    3. max_binlog_size=100M
    4. server-id = 1//这一行必须要,因为数据库有主从之分

    log-bin定义开启二进制日志;path表明日志文件所在的目录路径;
    filename指定了日志文件的名称,如文件的全名是filename.0001,filename.0002等
    除了上述文件之外,还有一个成为filename.index的文件,文件内容为所有日志的清单,可以使用记事本打开该文件
    expire_logs_days定义了mysql清除过期日志的时间,即二进制日志自动删除的天数。默认值为0,表示“没有自动删除”。当mysql启动或刷新二进制日志时可能删除该文件
    max_binlog_size定义了单个文件的大小限制,如果二进制日志写入的内容大小超出给定值,日志就会发生滚动
    (关闭当前文件,重新打开一个新的日志文件)。不能将该变量设置为大于1GB或小于4096字节。默认值是1GB

    如何开启慢查询?

    如果log_slow_queries状态为OFF, 说明当前并没有开启慢查询.
    开启慢查询非常简单, 操作如下:
    在[mysqld]中添加如下信息:

    1. [mysqld]
    2. log-slow-queries[=PATH/[FILENAME]]
    3. long_query_time = 4
    4. log-queries-not-using-indexes

    log-slow-queries: 代表MYSQL慢查询的日志存储目录, 此目录文件一定要有写权限;
    long_query_time: 最长执行时间. (如图, MSYQL将记录下所有执行时间超过2条的SQL语句, 此处为测试时间, 时间不应太小最好在5-10秒之内, 当然可以根据自己的标准而定);
    log-queries-not-using-indexes :没有使用到索引的查询也将被记录在日志中
    配置好以后重新启动Mysql服务
    service mysqld restart





  • 相关阅读:
    notion笔记
    PHP性能分析工具xdebug+qcachegrind
    Homebrew1.5之后安装PHP和扩展
    Yii2 创建新项目目录
    MAC的一些实用
    Item2 + zsh
    YII2 RBAC Admin User权限相关
    ITEM 2 MAC OSX 功能略强大的终端
    MAC终端配色Solarized
    微服务 SpringCloud + docker
  • 原文地址:https://www.cnblogs.com/star91/p/5063093.html
Copyright © 2011-2022 走看看